Refactored Config and ConfigInterface to use an OptionsResolver instead of fixed string inputs.

This will allow us to introduce new configuration options without breaking backwards compatibility.

Changed README to adapt the new configuration setup syntax.
Merge branch 'sheeep-config-v3-rebased' into 3.x