Bug 913985: Part 1 - Introduce a nicer annotation API for the generator, and migrate all existing annotations to it. r=kats

--HG--
rename : mobile/android/base/mozglue/OptionalGeneratedParameter.java => mobile/android/base/mozglue/generatorannotations/OptionalGeneratedParameter.java
rename : mobile/android/base/mozglue/GeneratableAndroidBridgeTarget.java => mobile/android/base/mozglue/generatorannotations/WrapElementForJNI.java
Bug 913985: Part 2 - Add annotations to all remaining JNI entry points, marking them for generations. r=kats
Bug 913985: Part 3 - Update the annotation processor to generate wrapper classes. r=kats

--HG--
rename : build/annotationProcessors/MethodWithAnnotationInfo.java => build/annotationProcessors/AnnotationInfo.java
rename : build/annotationProcessors/utils/AlphabeticMethodComparator.java => build/annotationProcessors/utils/AlphabeticAnnotatableEntityComparator.java
rename : build/annotationProcessors/utils/GeneratableEntryPointIterator.java => build/annotationProcessors/utils/GeneratableElementIterator.java
Bug 913985: Part 4 - Add new generated code to version control. r=kats
Bug 913985: Part 5 - Refactor the Bridge to use the generated code. r=kats
Bug 913985: Part 6 - Remove redundant AndroidBridge::Bridge() checks. r=kats