Change Token to Internal token

- Rename Token -> InternalToken
- Rename TokenPersistence -> InternalTokenPersistence
- Instantiate token persistence whenever needed
- Introduce notion of an internal token
- Let TokenAdapter hide edit menu item for non-internal tokens
Add interfaces for Token and TokenPersistence

- Add interface for Token
- Add interface for TokenPersistence
- Update other classes to use interface to a greater extent
Add External tokens

- Include OTP NFC client library
- Add NfcHelpers to implement common NFC tasks
- Add ExternalToken implementation of Token
- Add ExternalTokenPersistence implementation of TokenPersistence
- Update interfaces to include new functionality
- Update other classes to support new interfaces
Extend app to utilize new external tokens

- Create an abstract base class for MainActivity
- Rename old MainActivity InternalMainActivity
- Add ExternalMainActivity to show external tokens
- Extend InternalMainActivity to scan for NFC devices and start
  ExternalMainActivity if presented
- Centralize TokenPersistence to *MainActivity
- Extend all other activities to execute actions and return their
  results
- Add related strings