Adding a SettingsManager for server provided conf

This patch adds a class and associated tests which leverage the
SharedPreferences key/value store to provide easy storage and reference
for a few server provided variables.

Currently, the values which will be stored here are:
1)How many extra signed keys that the remote provisioning system should
keep on hand to be ready to assign to apps.

2)How far into the future that the app should check for expiring keys.

3)Which base URL that the app should use to allow migrating to a new
server API if the need arises.

4)A failure counter in the event that the app repeatedly fails to
contact the server due to potential misconfiguration of the server
provided URL. If enough failures occur, the app will fall back to the
baked in default value.

Bug: 189018262
Test: atest RemoteProvisionerUnitTests
Change-Id: I04bfb4d150a1e4844fae5191df175a92f6d3702c
2 files changed