3.0 update connection manager

Update `ConnectionManager` to use the newer registry pattern and slim down its API surface.

* Remove methods that were wonky or redundant in light of the new methods.
* Deprecate `create()` and `getDataSource()` as they have alternatives now. I didn't remove them as they are broadly used and now just aliases.
* Move `ConnectionManager` closer to the classes it manages.
* I did some refactoring in the `Connection` class to make `driver()` more self contained.
* Currently `ConnectionManager` can only create/manage `Connection` instances. This is probably temporary as we don't have a DataSource class right now, and the `ORM\Table` objects directly interact with `Connection` objects.

I still haven't removed the duplication around the config() methods. After these changes I will do that as the pattern is quite clear and the duplication is now annoying.