Push ES6 definitions into es6.js
Merge pull request #399 from nicks/nick-es6

Push ES6 definitions into es6.js
[NEW TYPE INFERENCE] Add all properties of a qualified name when assigning to a loose object.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=70993492
Fixed unicode code point parsing for points too large to fit inside a char appearing in string literals.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=70993991
Upstream Closure externs for angular.$interval.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71097176
Transpile ES6 array patterns into separate declarations. For example

var [x, y] = foo();

becomes

var $jscomp$destructuring$var$0 = foo();
var x = $jscomp$destructuring$var$0[0];
var y = $jscomp$destructuring$var$0[1];
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71108911
Normalize block scoped function declaration

Rewrite "function f() {}" as "var f = function() {}". Add renaming for
block scoped function declarations.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71114016
Added support for parsing and validating basic expressions for the type transformation annotations such as @template T := TTL-Expression =:

Basic expressions are:
- Typevar, a name that starts with a capital letter, and contain only letters, digits, and underscores.
- type(typename), a type expression with where typename is a string
- union(a, b, ...) a union type expression where a, b are either Typevar or a type(typename)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71134819
Translate yield statements when they appear as immediate children of the generator body. (Support for yields nested in for/if/while statements coming in the next CL)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71145207