EditSchema parser for ExternalAccountType

This also includes:
- Removed getHeaderColor/getSideBarColor from AccountType

- Implemented a test authenticator/sync adapter in the test apk.
This defines a test account type "com.android.contacts.tests.authtest.basic".
We could potentially add more account types to the test apk to test different
edit schema variations, but at this point this is impossible, as
ExternalAccountType doesn't have a way to tell which contacts.xml belongs
to which account type.  The current contacts.xml defined here builds
the fallback account type equivalent.

The sync adapter is pretty rudimentary; it doesn't clear the isDirty flag
on modified raw contacts or delete raw contacts with isDeleted set.  At
this point this doesn't seem to be necessary to test EditSchema.

Note:
For now it's still not meant to be public API.  Right now it's only manually
tested with the edit schema defition in the test apk described above.

Bug 5381810

Change-Id: Ifefdb969b4e08775125924b1366d24effc4db2f2
24 files changed