Database manager

Fixes #254 and replaces pull #1122

* 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