[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