Support for Watchable verification

Bug: 161323622

Add support to automate verification of Watched attributes.  It is now
possible to verify that all Watched attributes of class Watchable are
being observed.  It is also possible to know that Watched attributes
of class Snappable have been copied properly into a snapshot.

Tested on Settings by commenting-out a registerObserver() call and
verifying that an exception was thrown.

Test: atest
 * FrameworksServicesTests:WatcherTest
 * FrameworksServicesTests:PackageManagerSettingsTests
 * FrameworksServicesTests:AppsFilterTest

Change-Id: Ia2bff16bec7bff0b8b8e401ad5377bad8297b527
8 files changed