Update to use org.json from Android SDK 19.

Change-Id: I50a8a1ae7d13e6feb3ef6db1c02ee1625135415c
Refactor JsoDevirtualizer in preparation for modular compilation.

JsoDevirtualizer is a pass that requires global knowledge.

For separate compilation we impose that the JSO must be declared in
the same module as the interface it implements. Also all JSOs are
treated as dualImpl JSOs in separate compilation.

This patch makes sure that all the required methods are defined even
if not called in the current module; the final pruner pass will
remove static methods that are not called

This patch should not have any effect for globally optimized
applications.

Going forward devirtualizing JSO calls should be handled as all the
other normalization passes, and be run *before* optimizations; the
optimizer should be smart enough to produce code of similar quality.

Change-Id: Ic6457aab8a5889368a1ab538f7d26b3edc94d9c3
GWT-RPC: don't inherit type variables for non-parameterized types

For example, suppose we're deserializing a field:

  Foo field

If Foo is a simple class or interface with no type parameters,
it shouldn't inherit the values of any type variables from its
environment. (The Foo class may have type variables of its own
but they should be independent.)

As a workaround I just made sure resolvedTypes is empty.
To do the job right probably requires a rewrite and public
API change for server-side custom serializers.

Includes a test.

Bug: issue 7628
Change-Id: Ib674812af6b8eabace42b4185ec5f07e967f1761
Review-Link: https://gwt-review.googlesource.com/#/c/5320/
Update SplittableTest to work with different json libraries.

Json libraries might decide what to escape differently. This
patch makes the test less likely to fail if json libraries are
changed.

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