Use Doctrine DBAL instead of Wikibase Database

This change also tackled some design issues. Primarily the
cohesion, feature envy and responsibility mixing in the
DataValueHandler code and the weirdness of the SchemaConfig class.