In MySQL check for existing tables by querying information_schema

This brings the MySQL engine in line with the Postgres and SQLite
engines in how it checks for existing databases.

This ensures that existing databases are properly identified at
startup. It also fixes sporadic GUI errors resulting from a race
condition on the cursor since the queries in table_exists were
being repeatedly executed.

Fixes #142.