* Interpret nil nextVerificationAttempt as a code not having been sent yet, not as no code able to be submitted
* Update request and submit verification code handlers to latest server spec
* Update CreateAccountResponse codes to match server spec
* Update ChangeNumberResponse codes to match server spec
* Rename some cases for clarity, propagate up network errors vs generic errors
* pr comments
* Add RegistrationSession object
* Add RegistrationSessionManager protocol
* Add skeleton RegistrationSessionManagerImpl - just kvstore persistence implemented
* Issue requests in RegistrationSessionManagerImpl
* let tests access the in memory kv store
* Add TSRequestOWSURLSessionMock. Rename OWSURLSessionMock
* Add DateProvider
* Take a dateProvider in RegistrationSessionManagerImpl
* Add tests for RegistrationSessionManager
* pre-emptively update timeout for tests. will remove once promise Scheduler code is merged
* PR comments
* Use Schedulers