MySQL: Fix how empty `where` param makes bogus WHERE syntax.

With an empty `where` param, it would generate `''` as the where parameters, which is not valid SQL. Now it returns `1=1` if instead of the empty string, as suggested by @muka in #606 (which this PR fixes).

Added failing MySQL tests for SelectQuery when the `where` is all kinds of empty and because I felt generous :stuck_out_tongue: there's also a new test in here for when you have multiple tuples in the `where` property (that one passed right away).