Track changes caused by the ICU 49.2 upgrade.

(cherry-pick of 0e996f766f975305a484b40809b6b720c0046980.)

Change-Id: I503be2cebe8664a624de7b84f655b646db6e86f7
Note the icu4c 49 upgrade.

(Yes, their version numbering changed. For CLDR too.)

(cherry-pick of dcb358b1be404d56462165e52ee944df9de03839.)

Bug: 7625281
Change-Id: Icfbbcd5382b315e47c2d06555a1475fadd97f62d
Add a test for a Matcher.hitEnd bug fixed by icu4c 49.

Bug: http://code.google.com/p/android/issues/detail?id=19308
Change-Id: I4a88cc554b7d5fe2d8706287f8dd4390217bc7ab
Add detail messages to all remaining NullPointerExceptions.

I've left java.util.concurrent alone, since that's upstream code.

Change-Id: I349960aaddb78e55d4c336b58b637009db69ff98
Performance improvement in DiskLruCache.readJournalLine().

Speed up DiskLruCache.readJournalLine() by avoiding memory
allocations from String.split(). For non-CLEAN lines, we
avoid using String.split() altogether and find separators
explicitly, for CLEAN lines we defer to String.split() and
we optimize the underlying Splitter.fastSplit() overload to
avoid unnecessary allocations itself.

On a test journal with 7347 entries (1099 CLEAN) this saves
about 45-50% from ~250ms. On a test journal with 272 entries
(86 CLEAN) this saves about 35-40% from ~10ms. Measured
loadJournal on GN in a tight loop (file contents cached).

If used without the other DiskLruCache.readJournalLine()
improvements, the Splitter.fastSplit() optimization alone
would provide about 60% of the savings. It should also
speed up other code outside the DiskLruCache.

Change-Id: I1d6c6b13d54d8fcba3081f2bb9df701b58f5e143
Retry failed redirections when socket is recycled.

When an HTTP request fails, getResponse() attempts to retry once
if the socket was recycled from a previous request. This extends
that logic to retry failed redirects by marking the connection as
recycled.

http://code.google.com/p/android/issues/detail?id=41576

Change-Id: I5aea566a498e48d753d3893101d14cd4ab76db2b
Use EmptyArray.STRING in Splitter.fastSplit().

This is a minor cleanup after
  https://android-review.googlesource.com/47964

Change-Id: Id8de6c09f3397b044082c275095ff7a7a43185f9
Lazy parsing of zip files for Java resources.

Central directories of zip files should be read lazily.
They are needed only to service calls to
BaseDexClassLoader#findResouce(s). Most android processes
don't use these methods since they use android resources.

bug:6797061

(cherry-picked from 8dd90ae77922eb05d46c797937620a4c69f758f7)

Change-Id: I1a5b5d03572601707e1fb1fd4424c1ae2fd2217d
Add detail messages to all the easy IllegalArgumentException cases.

Noticed during my recent Matcher change.

Change-Id: I415d911b26d0ee548ca04d56bba7fc3d4e6b3f88
Synchronize calls to Matcher.closeImpl.

Bug: 7603088
Change-Id: I4ed42342438e4e74eecd2e4013be0c85e9b2ef29