Add the ability to override time origin priorities

Add the ability to override time detector "origin priorities" config
with device_config. This is primarily intended for use by tests to set
the device into known states, regardless of the static xml OEM partner
config.

For example, to test the new "external" suggestion code in CTS, even a
device that does not support it "out of the box" can be set to just use
external suggestions and verify the associated code paths are working.
Previously, external time suggestions were untestable on devices that
didn't use it "out of the box".

Similarly, carrier acceptance tests could use this to just set "nitz"
from the priority list and ensure that NITZ behavior is working as
expected.

An initial TimeDetectorShellCommand implementation has also been written
to provide help that lists the device_config key, and expose settings
state. The set_auto_detection_enabled command can be added after bug
172891783 is complete.

This change also makes the origin priorities more dynamic. i.e. config
overlays like locale or MCC-based resource configs could now also affect
the origin priorities, previously the string was read once and cached
forever.

Bug: 183239968
Bug: 172891783
Bug: 172230856
Test: build / treehugger only
Change-Id: Ic67f35aa6d417bbbb4172643c10a796d484ccd1f
8 files changed