Rebase android-json to avoid conflicts with org.json.

This patch rebases android-json from org.json to c.g.g.thirdparty.json.

In the future it will probably make sense to migrate to unrebased GSON.

Bug: issue 8762.
Change-Id: I47352cebdd8d8092dd512f2bd6b623ff8022d854
PersistentUnitCache coalesce was throwing away new units, fixed.

PersistentUnitCache is a log-structured cache where after every compile 
(of a group of CompilationUnits) the current cache file is closed and a 
new cache file is started.

There is a limit to the number of cache files that are allowed 
(currently 40) and when this limit is hit "coalescing" is *supposed* to 
occur such that all previous cache files are deleted and all 
CompilationUnits currently in memory are written to a new cache file. 

But in actuality the process of writing all CompilationUnits was 
filtering out UnitOrigin.RUN_TIME categorized units, aka any unit that 
was created during the current compiler JVM process launch. As a result 
the full contents of the PersistentUnitCache were being constantly 
cleared if one had a project so large as to trigger more than 40 
Generators (since each Generator run would cause another cache file) 
per compile.

The PersistentUnitCacheTests attempted to prove the correctness of 
"coalescing" but were taking the unusual step of shuttingdown the cache
after each unit add, which was artificially leading to them being 
categorized as UnitOrigin.PERSISTENT and thus not vulnerable to 
clearing.

Change-Id: If40e32795592c3e41676705db0b2f2e992a1ce2a
Review-Link: https://gwt-review.googlesource.com/#/c/9710/