SQL: put old tests back + some fixes to get them running

- removed meta keyword from has_table (was not used)
- added check for if_exists
- added table_exists back as alias for has_table
- added frame_query back as alias for read_sql (and deprecated it)
- changed way to delegate read_sql/table without using has_table for backwards compatibility (because this gave an error when uqing a mysql connection but not specifying the flavor)

Things that I had to change to the tests to get them running:
- changed MySQLdb to pymysql
- changed `sqlite3.OperationalError` to `pd.io.sql.DatabaseError` (in `test_tquery` and `test_uquery`)
- test_write_row_by_row are skipped for now (they depend on the issue of `execute` being able to handle cursor objects).
- in `test_execute` with pymysql converted the row values to python types (with numpy's `tolist()`), as pymysql errored on the numpy types.