Queries with a semicolon at the end fail silently

This is confusing for the user as the error message from Tableau is not meaningful. This PR fails queries with ; in them.
If nothing else, this diff should be its own distinct, named, function.