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 were now running, except for the following issues:
- ``tquery`` had  ``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?