I before E, except after C

...and some other cases

Change-Id: I45e2770fd4c734b5aefba124d3c09eef47294b43
Conscrypt: fixing Android.mk dependencies

Remove some dependencies on makefile orders from other libcore files.

Change-Id: Iff62a2aebf3b58227fbe3157371c85c33f2db097
Conscrypt: add missing libraries to JNI lib

Change-Id: Ic6d1d787a3e22deca8b2cd4a52e443d06391243e
Reduce the upper bound on TimeZoneNames memory usage.

The cache had mistakenly been sized based on the number of time zones,
despite the fact that the keys are locales. We now have a lot of locales,
but the cache was still large enough to hold all of them, which wasn't
really the intent. I pulled the number 5 out of my ass.

I've also removed the "one big intern table" and now just do per-locale
deduplication. That avoids another potentially very large leak in an
ill-behaved program.

Also handle OOME in the native code better.

Change-Id: I9a07ad210469f064acde80f7d10ffb4b3a8f6443
Fix BIO_OutputStream::write to return the correct length.

This was leaving bad OpenSSL error states lying around for later
innocent calls to trip over.

Also clean up some of the other error reporting/handling.

Bug: 9822466
Bug: 10344304
Change-Id: I9e6d6fd9a6c5e466336217b47f45c211aff5555d