[ELY-26] Transition the realm API to use a RealmIdentity which now encapsulates the identity specific operations.
[ELY-26] By switching to a RealmIdentity which defines an identity for a specific realm we no longer need to combine a Principal with a realm name in this way.
[ELY-26] Minor typo.
[ELY-39] Ensure algorithm names come from the password interfaces and not the implementations.