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
Move key identifier aliases and minor formatting changes.
Lint all but the most ugly tests
Merge pull request #67 from anchor/wip-propogate-memory-type-aliases

Move key identifier aliases and minor formatting changes.
Merge pull request #68 from anchor/wip-lint

Lint all but the most ugly tests
Merge remote-tracking branch 'origin/master' into wip-cleanse-handler

Conflicts:
	lib/Retcon/Handler.hs