DBConnectionInfo is a interface now
Refactor the error handling
Add two concrete implementation of the DBConnectionInfo interface, postgresql and sqlite3
Add unit tests