[#39] Change the behavior so either success is YES or an error is set
[#39] Add an optional method to the Identity Provider protocol to allow an IdP to transform the username (if needed)
[#39] Remove locking and add credential saving
[#39] add the designation initializer to the header
[#39] Get rid of the extra bits here. We don't need them and can add them later if needed.
[#39] Set the correct persistence behavior on the credentials before returning them