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.