Deferring persistence of passcode config.

Previously, passcode configuration data was persisted in the keychain prior to going through the passcode creation or update process.  For the sake of data consistency, these values should not be set until they've been validated by means of a successful passcode creation or update.
The lockout time and passcode length data is now round-tripped through the passcode creation/update process, and will only be permanently persisted once that process has successfully completed.