TST: Deprecation -> FutureWarning + catch in tests
BUG/TST: fix get_schema + add tests

- adapt signature of get_schema to what it was before (for backwards compatibility), possibility to call function without connection object
- fix get_schema for sqlalchemy mode
- add tests
SQL: revert deprecated tquery/uquery to 0.13 version

As tquery and uquery are deprecated, it is not needed to adapt them to the new sqlalchemy interface + the adapted version changed the signature slightly so it was not fully backwards compatible.
Therefore: put back the old code and removed new implementatation in the classes.
Consequence: the functions are not available for the new sqlalchemy engines, but as they are deprecated this is not needed.
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.
FIX: execute() works on a cursor.
Merge pull request #6987 from jorisvandenbossche/sql-legacy-tests

SQL: bunch of fixes based on the old tests