DO NOT MERGE Cts Feature/Profile Annotations

Add annotations that allow CTS to be used for multiple device
profiles.

Example is shown in ProfileTest.java.

1. @SupportedProfiles - run the test only if the device's profile is
   the one passed via the "--profile" flag to CTS like:

   startcts --plan CTS --profile HANDHELD
   startcts --plan CTS --profile STB

2. @RequiredFeatures - run the test only if the device's
   PackageManager reports the features needed by the test. For
   instance tag wifi tests with this annotation's value set to
   the wifi feature to only run it on devices that declare the
   feature.

If not specified, the profile will be set to ALL, which means run all
the tests.

This creates an additional library for CTS test annotations, so this
will require a change to the build/core/cts.mk project too. A new
Makefile "CtsHostLibraryList.mk" can be used now to have the host
use additional libraries.

Change-Id: I2c75a07eccf90df3bee0a87edf0d2d497e150930
35 files changed