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.
Merge pull request #799 from khawkins/defer_passcode_config

Deferring persistence of passcode config.
SalesforceOAuth uses keychain mgmt in SalesforceCommonUtils
Merge pull request #801 from khawkins/oauth_commonUtils_keychain

SalesforceOAuth uses keychain mgmt in SalesforceCommonUtils
Merge pull request #800 from wmathurin/unstable

JS sync tests for iOS