Initial support for reading the enrollment metadata

- Defines schema for enrollment apps to publish metadata for the search
  keyphrase. This metadata consists of an ID, a user visible keyphrase,
  and the target package to handle the keyphrase, when it triggers.
- Reads the metadata and populates the KeyphraseInfo object for access via
  the VoiceInteractionService
- Adds permission and intent action for the enrollment app.
  The enrollment app needs to be a system app protected with the
  MANAGE_VOICE_KEYPHRASES permission and the activity performing the
  enrollment needs to handle the ACTION_MANAGE_VOICE_KEYPHRASES
- The keyphrase info currently stores an ID - that's for internal
  bookkeeping only, a keyphrase text - that's used by the public APIs,
  and a list of supported locales, which isn't exposed but is used while
  indicating if hardware hotword is available for a particular keyphrase
  in a language or not.

Change-Id: Ibe6c52a5a3eecfd74c4a8382713a35eb88d38df9
6 files changed