By default, MySQL runs query cat dog as "cat OR dog". Users expect "cat AND dog".
For users using MySQL, we instruct them to fix this by changing ft_boolean_syntax. However:
Instead, we can parse the query ourselves, and submit +"cat" +"dog" to MySQL, using whatever syntax it is configured for. This will also let us simplify setup since users won't need to change this setting any more.
This just implements a parser/compiler and test cases. It does not yet change search beahvior.