Merge remote-tracking branch 'upstream/master'
Merge branch 'master' of https://github.com/andrestesti/gwt-rebindingmethods
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Fixed collapsed properties to work under code splitting.

CollapsedPropertyHolder.getPermutationId might have ended up in
an exclusive fragment but was is needed in the initial download.

This fix makes CollapsedPropertyHolder an ImmortalCodeGen type.

Bug: issue 8539.
Change-Id: Ied8a2032fa3f5603728d35c3d4351b37d1258ab3
Unified all interning logic into JsLiteralInterner.

Now any JsLiteral that is a value is interned by a JsLiteralInterner.
For now only strings, regexes, numbers and some object literals (e.g.
the ones for cast  maps) are interned. Object literals that represent
long values should also be internable here, however they are interned
in GenerateJavaScriptLiterals to provide them with a nice variable
name.

A future compiler pass might mark other literals that have value
semantics (i.e. never changed, never compared by reference)s as
internable.

Change-Id: I163cac2622ee72c395bf8ae37ed67862ab74a082
Merge branch 'master' of https://github.com/andrestesti/gwt-rebindingmethods
Merge remote-tracking branch 'upstream/master'