Update Lint plurals detector database with data from ICU 52

Done while investigating issue 67803.

Change-Id: I8158a61ec77f6cc64c9fe4008f92f7c1689c48ae
Add support for extracting support annotations in Gradle libraries

The new extract<Variant>Annotations task will look for support
library annotations in the sources, and create an annotations.zip
file containing XML descriptions of these annotations, which can
be digested by for example Android Studio's new ResourceType
inspection. For example, the library can define a new method like
this:
    public int draw(@DrawableRes int id) {
        ...

and then any clients of the library (when the AAR has been
built with annotations extracted) will get inspection warnings
if they attempt to pass for example an R.string id to this
method.

This task is automatically run as part of building a library AAR,
and it will do nothing if it does not find the android annotations
.jar as a direct dependency of the library.

Change-Id: I42f46dc1cebd7f120115ff897cb90436239c9ed1
Fix resource resolution for themes and styles.

This change improves theme and style resolution and adds new APIs for
layoutlib. Without the appropriate changes in layoutlib, this change
doesn't have much effect.

Change-Id: I8cb498b644c9d106e79264083714d53aaf5d1cf4
Sample with a local aar.

Change-Id: I6556865b1232a622cf89cf28cf666d21221ff823
Added support for custom tags in manifest files.

Custom tags will be merged into the resulting merged file untouched.
There is no provision for keying custom tags yet, will have to see
if there is developers demand.

Added support for namespace prefixed element names.

Change-Id: I9250cbab011eeeefeb1ff6a812bb49b9396557fa
Merge "Add support for extracting support annotations in Gradle libraries" into idea133
Merge "Update Lint plurals detector database with data from ICU 52" into idea133
Merge "Fix resource resolution for themes and styles." into idea133
Fix annotations.

Change-Id: I2da2a32c92a90abcaa9f204ab95b3e5e310df8c5
Merge "Sample with a local aar." into idea133
Merge "Fix annotations." into idea133
Merge "Added support for custom tags in manifest files." into idea133
First version of the new Gradle task for invoking new manifest merger

Added a Task that now invokes the new Manifest Merger through the
AndroidBuilder class.
By default, the old manifest merger is still invoked,
Add "useOldManfiestMerger true" to the build.gradle to invoke version 2.

Added ability to pass names alongside library file references which
will allow to display more readable error messages. The current name
scheme will need to be revised in a subsequent CL.

modified existing test to conform to new manifest merger restrictions
All tests, buildTest and deviceTest pass with ManifestMerger version 2.

processTestManifest task coming in a subsequent CL.

Change-Id: I38e999ffe5753669aca8afeab6a5b6e1f8443d3d
Add support for showing or hiding overflow menu

This adds methods in the callback to enable the IDE to tell layoutlib
whether to show or hide the overflow menu popup in the action bar.

Change-Id: Id0493454d235b140fc84201ad5a4e8d73470917f
Fix tests.

TextView.getText() returns a CharSequence, not a String making the
assertEquals fails.

What's mysterious is how this ever works (or how it still randomly
works). Weird.

Change-Id: I2b487e14b13211cbfedbfcec3a05f9891891d2c2
Merge "Fix tests." into idea133
Make LocalSdk thread-safe.

Change-Id: I58921918ae5993d498d03bed8c3585371b8b3af2
Add sources to RemoteSdk

Change-Id: I9fde6553452d9e9cd2d2b9506a7039538dce9e17
Merge "Add support for showing or hiding overflow menu" into idea133
Fix more tests.

Change-Id: I633d35f3aac1d081a3a8054600889c690a8ee8ab