SQL: skip tests when no connection + fix meta/has_table

Further work for cleaning up the sql code (#6292).

- the `meta` attribute is not updated automatically, with the consequence that eg when you delete a table from sql directly, the `has_table` function does not work anymore:
     - I added a test for that
     - I converted the `meta` attribute to one which is always updated when called. @mangecoeur looks OK?
- now the tests are skipped when no connection could be made. @jreback, I just did a `raise nose.SkipTest` inside the setup function of the test class.