Multi user passcode updates

While troubleshooting some issues with passcode creation that were happening with the new passcode change functionality, I realized that there were some fundamental issues that needed to be addressed to fix them.  This pull request changes the passcode paradigm a bit.

- The biggest issue was that having the setting of the security timeout and passcode length in separate calls—particularly separate asynchronous calls—was problematic, because both pieces of information needed to be known at the same time, to make an effective decision on the action to take.  These updates are now consolidated into one method.

- Passcode change functionality cleared the way to retrieve identity data more frequently, which has been requested by users, and which becomes necessary in certain multi-user use cases.  I made updates to support retrieving the identity data whenever authentication is called.