Split Options Config into different datatypes

The 'RetconConfig' is now parameterized by the type of Entity. This
allows it to reside in Retcon.Options. This also enables the
Initialisation to be done at a later stage tan the creation of the Config.
Restructure RetconConfig to contain the Database Connection
fix tests to use new Config
Merge remote-tracking branch 'origin/wip-refactor-config'

Conflicts:
	retcon.cabal
	tests/HandlerTest.hs
	tests/StoreMemory.hs