Only use pymysql for MySQL connections

It is pure Python, widely adopted, and performs better with
unicode in some cases.
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.
Merge pull request #150 from ethanwhite/mysql-bug

In MySQL check for existing tables by querying information_schema
Merge pull request #149 from ethanwhite/just-pymysql

Only use pymysql for MySQL connections