MmsConnection refactor

- Use Apache HttpClient v4.x, only library that seems to like HTTP proxies
- Remove custom redirect logic in favor of library's

Fixes #1904
// FREEBIE
add CM APN list, remove non-MMS APN info

Fixes missing Verizon APN. Overall, smaller DB size but more APN info.
// FREEBIE
switch back to BufferedInputStream

// FREEBIE
Updated language translations.

// FREEBIE
Bump version to 2.1.9

// FREEBIE
actually fallback when mms local params unset

// FREEBIE
sane fallback for media selection on exception

Fixes #1763
// FREEBIE
use wildcard media types, don't crash on preview fail

// FREEBIE
Bump version to 2.1.10

// FREEBIE
Break core ratchet out into libaxolotol.

1) Break the core cryptography functions out into libaxolotol.

2) The objective for this code is a Java library that isn't
   dependent on any Android functions.  However, while the
   code has been separated from any Android functionality,
   it is still an 'android library project' because of the
   JNI.
Reorganize session store load/store operations.
Collapse KeyExchangeMessage and KeyExchangeProcessor interfaces.
Move session construction and KeyExchangeMessage into libaxolotl.

1) Add plain two-way key exchange support libaxolotl by moving
   all the KeyExchangeMessage code there.

2) Move the bulk of KeyExchangeProcessor code to libaxolotl
   for setting up sessions based on retrieved prekeys, received
   prekeybundles, or exchanged key exchange messages.
SessionBuilder improvements, more extensive SessionBuilder tests.
Javadocs, and some minor refactoring.
Collapse SessionRecord, SessionState, and PreKeyRecord interfaces.
Add basic README.
Update README
Add "last resort" PreKey generation to KeyHelper.
Move identity key verification into libaxolotol.  With tests.