Merge branch 'eighthave-more-fixes-and-tls-test'
update background image to material style
fixes #4277 and issue with blank frag after rotate
add new default material images
original images generated with Tapet app
make lock, wizard screens user user background
fix lookup of file path from returned URI of images
update README
Merge pull request #596 from n8fr8/master

final design / background support updates
update to 14.0.9 release
update changelog for 14.0.9
purge OtrContants, only a single value is used (helps with otr4j merge)
move OTRDATA TLV definitions to where the other TLVs are defined

This helps with the otr4j merge.  It shouldn't change the logic at all.
define generic Map type for getting ProviderSettings

This makes it possible to run tests by only creating a HashMap, rather than
having to create a whole Imps setup in the tests.
put XMPPConnection config entirely into a single method

This enforces keeping the config in a single place, and also allows the
config method to be used in tests.  Hopefully this did not change the logic
at all.
move creating SSLContent to method to avoid code duplication and ease testing
move XMPPConnection basics to setUp() and tearDown()
make getSSLContext() so we can choose which TLS version, fix testSettingCipherSuites()
make reusable ConnectionListener that includes the tested domain name

The ConnectionListener can be called after the test framework has moved on,
so sometimes it gets the failed connectionClosedOnError() call when it is
running another test.  Then it gets confused and quits, but in the wrong
spot.  This then points you to the real error in logcat, since it has the
domain name in question above the stacktrace.
test that the recommended domains support TLS v1.2
test whether setting cipher suites works in ConnectionConfiguration
switch out custom bouncycastle repackage for spongycastle

https://rtyley.github.io/spongycastle/
spongycastle is a standard repackage of bouncycastle for Android:

The Android platform unfortunately ships with a cut-down version of Bouncy
Castle - as well as being crippled, it also makes installing an updated
version of the libraries difficult due to classloader conflicts.

Spongy Castle is the stock Bouncy Castle libraries with a couple of small
changes to make it work on Android:

* all package names have been moved from org.bouncycastle.* to
  org.spongycastle.* - to avoid classloader conflicts
* the Java Security API Provider name is now SC rather than BC
* no class names change, so the BouncyCastleProvider class remains Bouncy,
  not Spongy, but moves to the org.spongycastle.jce.provider package.