Add API to get a time zone's localized exemplar location from CLDR.

Bug: 8145760
Bug: 10179879
Change-Id: Idafa81402c8d89cc2756ab1d57c0f8b1b3401df7
Merge "Add API to get a time zone's localized exemplar location from CLDR."
Return IvParameters in OpenSSLCipher#getParameters

The getParameters() call was unimplemented in the OpenSSLCipher as an
oversight. Add it so code relying on it will continue to work.

Additionally add tests for getIV() and getParameters() to make sure they
work correctly.

(cherry picked from commit 8d59a14a150738b8b3a2a8c31d1a48b8ae0a3d0c)

Bug: 10423926
Change-Id: I6bc7fc540509242dff9e5411f66f82be54691cb4
Merge "Return IvParameters in OpenSSLCipher#getParameters"
Properly refcount X509 instances

We were leaking X509 references from stacks before so we could get away
with reusing references that should have been freed. Since we're properly
tracking references now, we need to up the reference of things we're
using.

(cherry picked from commit 499f7cd642cc32f89f793fe356afbebeba8bf9c1)

Bug: 10610037
Change-Id: I4a4beda9b635881c51194410a6da8274c3c1d429
Merge "Properly refcount X509 instances"
icu4c DateIntervalFormat objects are expensive enough that we need to cache them.

It takes ~1ms to create a DateIntervalFormat on a z620, and around 8ms on a
current mobile device (Nexus 4). Add a small cache of recently-used formatters,
using a big lock rather than per-thread caches since this typically only
happens on the UI thread anyway, and because all the other frameworks date/time
formatting is behind a single lock too.

Bug: 10696944
Change-Id: I8ccbe0b31b722a95a08fbc5a119173b7a0f44807
Merge "icu4c DateIntervalFormat objects are expensive enough that we need to cache them."
Remove dependency on JNIHelp header side effects.

(cherrypick of cc5305a004afc334842a4afadca9530c2ea0c8ff.)

Bug: 10680559
Change-Id: I49ad58dea61a0e558bebfbd76019e7e0730cab52
Merge "Remove dependency on JNIHelp header side effects."
Remove RawSocket, which is no longer used.

Change-Id: Ia44a9ffd4d36da408c6b411c90d59ce7db30a36f
Merge "Remove RawSocket, which is no longer used."
Conscrypt: remove dependence on stlport

This helps with unbundling of Conscrypt by not forcing the app to
include a static version of stlport in their program.

Change-Id: I5bd17213059b8ae4d8d86921d82b43465253a62f
Merge "Conscrypt: remove dependence on stlport"
Add specific exception for wrong final block length

EVP_DecryptFinal_ex can have an error on the wrong block length at the
end of a decrypted block, so throw IllegalBlockSizeException when that
happens instead of a RuntimeException.

Bug: 10610957
Bug: https://code.google.com/p/android/issues/detail?id=58396
Change-Id: I70ea040c3b52fc30591963270850871a8cc581d3
Merge "Add specific exception for wrong final block length"
Add expectations for three known CharsetDecoder-/CharsetEncoder-related failures.

Bug: 10666742
Change-Id: I3f93546f814c5b493ad3738eebf8e792f661970c
Merge "Add expectations for three known CharsetDecoder-/CharsetEncoder-related failures."
Make documentation on InputStream#skip more clear

On first reading the documentation for InputStream#skip seemed to imply
that 0 was only returned when n was 0. Reworded this to make it clearer
to the reader that sentence only applies when n is less than 0.

Change-Id: I5b3d70f87551cc54d80da7d978c2187a78bc39c1
Merge "Make documentation on InputStream#skip more clear"