Implementation of new config system

This is a working but not-yet-complete implementation of a new config system. It should be simpler, more reliable and make HearthStats Companion easier to unit test.

So far I've moved all the notification settings, window settings and monitoring method setting to the new configuration. Other settings remain in the old config system, and will be moved shortly. It should be safe to accept this pull request now if you want it urgently, but it would probably be better to wait until I've moved all the config over.