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 1.5: update the annotation processor to handle the renamed annotations. r=kats
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