Refactor database connection management

Fixes #254 

* SRP is now maintained
  * `DatabaseManager` manages connections
  * `\Connection\ConnectionFactory` builds connections
  * `\Driver\DriverManager` manages drivers
* Connection level methods now available through Database Facade: `\Database::query(...)`
* Multiple DatabaseManager's may exist with separate drivers and connectors