Provided Configuration by plist support

This series of commits implements setup of the individual delegates using one common plist. They follows the idea that each step in this setup is necessary, and misconfiguration is an implementation error. Therefore, invalid contents of that file (including a missing one) raise exceptions in order to have some reliable checks on the API contracts involved.

## Known Limitations
The implementation is pretty naive, and will create a new instance for each of the specific delegates that are configured in the plist. This means that you cannot have one class conform to more than one of these protocols, **and** be assured that a common instance is used for those tasks.
Then again, that would be somewhat counter to what this whole system wants to achieve in the first place.

## Stuff that’s Missing
Initially, I forgot to update the Readme file(s), and when I became aware of that, I was too lazy to do so.