Implement classes for storing user preferences. Fixes T869

Summary:
  - Add a base case for implementing concrete preference classes
  - Add String Preference for storing string values
  - Add Boolean Preference for storing boolean values
  - Add Int Preference for storing int values
  - Add test for testing string preference
  - Add test for testing boolean preference
  - Add test for testing int preference

Test Plan:
  - Run `./gradlew test`

Reviewers: dkobia, PapaLee

Subscribers: rjmackay, shadowhand

Maniphest Tasks: T869

Differential Revision: https://phabricator.ushahidi.com/D434