Adds abstraction for the DBAL to allow for multiple backends.
Minor optomisation. Closes #15
Adds editor config