Refactoring of the entitlement trait to remove the "namespaces" method.

This belongs in an IAM provider interface - so create a new Identities type to host this method.
This refactoring is the first toward allowing multiple namespaces for a subject, each having its own key.
So currently still allow a subject to work acorss any of their namespaces but this will be removed in a future
iteration and hence will break the IAM entanglement with entitlement.

Also fixed some gaps in the Config type which ignored optional properties except when reading from consul.

Fixes issue #1470.
1 file changed