Automated g4 rollback of changelist 60408907.

*** Reason for rollback ***

fixed

*** Original change description ***

Automated g4 rollback of changelist 60403696.

*** Reason for rollback ***

breakages

*** Original change description ***

Only use a an inferred type for a declared slot within a scope if the type is a concrete subtype of the declared type.

***

***
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60481387
Now that the compiler always parse the externs in ES5 mode, it isn't necessary to quote ES3 reserved word properties
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60488763
Remove definition of obscure and obsolete Object.prototype.eval
Fixes issue 1212
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60497249
Automated g4 rollback of changelist 60488763.

*** Reason for rollback ***

Breakages

*** Original change description ***

Now that the compiler always parse the externs in ES5 mode, it isn't necessary to quote ES3 reserved word properties

***
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60502250
Actually make opt_useCapture optional in cases where the type
information is inherited from EventTarget with @override.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60535195
Update externs for angular.Directive.templateUrl to also specify that a
function is allowed.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60560691
[New Parser]
Added support for non-strict mode identifier parsing (allow let and yield, etc)
Add parser support for binary and octal interger literals of the form 0[bB][01]+ and 0[oO][0-7]+ respectively when in ES6 mode, warn otherwise.
Warn about line continuations when in ES3 mode
Add validation for duplicate parameter names
Add validation for break/continue usage.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60580483
[New Parser] Add some regex unit test to verify the created REGEXP objects are the same as the ones produced by the legacy parser.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60600959
Add support for source snippets for parser errors.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60611924
Update Angular 1.2 externs to allow a function for a route's templateUrl.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60651478
Port the jsdoc-attachment tests to use the new parser.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60657627
[NEW TYPE INFERENCE]

Handle more tricky unification cases, and also unify sets of objects.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60695598
[New Parser]
Bring some ES6 features up to date:
Drop support for module literals
Drop support for fields declarations in classes
Rework imports
for-each -> for-of
Minor token separator changes

Also, when in strict mode parse legacy octal number as decimals.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60757508
Make Window.prototype.console / console non-nullable.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60765471
Fixing IDBDatabaseException externs.

'code' and 'message' were erroneously declared on the IDBDatabaseException itself
instead of IDBDatabaseException.prototype.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60789912
rollback of 60765471
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60797161
Add $animate service.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60945726
[NEW TYPE INFERENCE]

- Substitute type variables inside record types and function types.
- Allow type variables from different @template annotations in the same type.
- Correct warnings when calling polymorphic functions from different scopes.
- Fix join/meet/specialize for generic types.
- Add tests for opacity of uninstantiated type variables.
- Use type variables in types of local-variable declarations.

With these we should be done with polymorphic functions for now.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60948415
Update definition of MessageSender.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60954800
Make file, lineCount fields optional as per SourceMap v3 spec:
https://docs.google.com/a/google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit

This is to support handling of dart2js source maps, which do not include file, lineCount fields.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=60967049