Per service relying party IDs

This pull request adds support for per service relying party ID configuration. Configuration is controlled by the services registry as described in the README.md
Nope, should only need the interface. If an implementation is needed, at that point the user can provide it. This is for a feature that is not essential to the function of the module, only here so I can have an API to program against. This would be a good use case for traits.