Remove non-determinism that causes intermittant 'Bad type annotation' errors.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=59980087
Make useCapture parameter of EventTarget's addEventListener and
removeEventListener optional, to be compatible with DOM Level 3 and up.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60000064
Fix a bunch of random stuff with the new Parser wiring including:
- add a hacked up JSDoc attachment until dimvar can port his pass
- correctly parse numbers
- fix a bunch of source location issues

This fixes the bulk of the unit tests.  I'm almost at the point we can start filing bugs for the remaining issues and start on adding ES6 features to our internal AST.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60014068
Move the AngularJS externs files back into the Closure Compiler source tree.

While it's generally recommended to maintain externs together with the original
library, in the case of AngularJS this didn't really work: changes to the
externs are prone to break things, and we can only test those within Google.
There also seems to be little interest in maintenance of these outside of
Google, so most contributions come from inside and are much easier for users if
the source is maintained internally.

See also the corresponding AngularJS pull requests:
https://github.com/angular/angular.js/pull/5906 (v1.2/master)
https://github.com/angular/angular.js/pull/5907 (v1.0.x)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60021447
[NEW TYPE INFERENCE]

Create level of abstraction above JSType (now UnionType) to make room for generic types.

This change doesn't add any new functionality.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60021686