Refactor search query parse of MysqlSearchEngine
This new parser was written against MySQL's Yacc / Bison grammar and should be
much more robust, because it also understand MySQL's semantics properly.
This new parser consists of two parts:
1. Split the query into separate terms like MySQL would do.
2. Modify these terms to improve the user experience
(e.g. by adding the asterisk wildcard).
The result of this change should be that the search engine always generates
queries that are compatible with InnoDB based fulltext indices.
This is related to #3404.