SQL: bunch of fixes based on the old tests

Some first fixes based on running the old sql tests (from 0.13.1 tag)

- fixed `get_schema` (and adapted is signature back to how it was for 0.13.1). For this I added back the old function, as this functionality was not possible with the refactored class based approach (for those you always have to provide a connection object or engine, this was not necessary for `get_schema`)
- `table_exists` seems to be renamed to `has_table`? I don't know why (and we should also decide if we expose this as a public function), but added it back for now as an alias.

All tests from the old test suite are now running with the new code (for sqlite, not yet tested for mysql), except for the following issues:
- ``tquery`` had a  ``retry`` and ``cur`` arguments (which were at least used in the tests), but not that simple to put back with the new implementation
- OperationalError is changed to DatabaseError

@jreback I also changed the DeprecationWarnings to FutureWarnings (I am right this is the canonical way to raise deprecation warnings in pandas?) and catched them in the tests. I don't know if this solves #6984 for the sql warnings?