Fixes method/cstr parameter names for parameterized types

I don't want to even talk about how I hit this problem :/

Change-Id: I53c06a8324864b2b5b8d84e5e72b7d5105264f7f
Review-Link: https://gwt-review.googlesource.com/#/c/5840/
Use Objects.equals instead of Utility.equalsWithNullCheck

This patch just removes duplicating code to check
two objects equality with null-sensitivity
in java.util package classes.

Change-Id: I3446d628fe3007aa3895042337e8a9358ce138d0
Computes JS strong name earlier, to avoid recomputation.

When linking the strong name of the output JS is needed to uniquely
identify the output file.

Calculating this hash of a potentially large String is expensive. When
compiling monolithically this hash will only be calculated once, so it
is mostly OK that in the past this hash was calculated at the last
moment.

But when compiling (and linking) separately, the output String is
larger and made up mostly of chunks that have been previously seen and
are being reused. Taking the hash of the large String that is the
result of combining these chunks, starts to be extremely wasteful. By
having precomputed hashes for each chunk, it becomes much cheaper to
generate a unique hash for the set of chunks (by hashing just the
combination of precomputed hashes). This change prepares the way for
this eventual separate compilation related change.

Change-Id: Ied09ca9f3e73143babc890e49d27456de7054ada
Added missing lineStart and lineEnd in UiBinder xsd file

Author: Markus Mårtensson
Bug: issue 6596
Change-Id: I9d73e13947746bcf92f5312d2913cebe6aea05d5
teaches CompilationResult to combine library PermutationResults

In the past the StandardCompilationResult artifact acted as a facade
for a single PermutationResult instance as it surfaced JavaScript code
and StatementRanges to the linker pipeline.

With the addition of separate compilation and linking there are now
sometimes multiple PermutationResult instances (one root "application"
instance and multiple "library" instances) that make up an application.

This change adds an optional constructor to StandardCompilationResult
to pass it an extra ordered set of "library" PermutationResults and
updates JavaScript code and StatementRanges retrieval (and some other
things) to return the combination of all of that data from all of the
known PermutationResult instances.

The net result is that all of the JS of an application and a set of
precompiled libraries is combined together in the final linked output.

Change-Id: I68728bd94b9daaf805ef48ad6b6b7f2903b485aa
Review-Link: https://gwt-review.googlesource.com/#/c/5923/
In devmode, call plugin.disconnect() on window unload

This change hooks up the plugin.disconnect() call to the window
unload callbacks. (Notice that in both cases this actually hooks
them to an iframe window, not the parent window itself.)

If the plugin doesn't have a disconnect() method (true today)
then it does nothing.

This is a prerequisite for fixing the Firefox memory leak.
For the next step, see:
https://gwt-review.googlesource.com/4680

Change-Id: Iff9f366bc7e34d5d2bb4098a49e0aaa3ca0aeb34
Merge remote-tracking branch 'upstream/master'