Improve how adapters are initialized

This commit inverts dependency between the Adapter class and the
specific implementations. Every adapter should now register itself by
calling Adapter.register(self). They should also implement the .schemes
method that return a list of schemes the adapter works with.

A Adapter.[] method was also added. This method looks up Adapter classes
based on a given scheme.

 #55
Add support for all Sequel-backed RDBMS

Closes #37
Add travis config for postgres