TST: sql skip tests at class level if database is not available
Added a `SetUpClass` to skip the full class when no connection can be made to the database, and made some of the other methods class methods, to be able to use them in `SetUpClass`

Eg if you are testing locally and don't have one of the databases available, then it will test the connection and skip each individual test, which can take some time.

closes #7091 ?
 @jreback no, it still something else I think. The issue is about the creation of the database itself, here it is just checking if a connection can be made for each class instead of for each test separately.
