Mobile phone number confirmation

- Create a class to store profile confirmation data
- Create a controller to manage mobile phone confirmation
- Create an integration test for mobile confirmation flow
- entry and exit from flow
- token invalidation (delete? tag as invalidated) and expiry
- TODO: I18N
Can we break 21-32 into a private method?