Make conscrypt the last provider, and not the default SSLContext

Conflicts:
	ion/src/com/koushikdutta/ion/conscrypt/ConscryptMiddleware.java
Fix conscrypt initialization to not muck with it if alread initialized.
139
update build and tests
update build and tests
Further fixes around Conscrypt setting defaults like crazy..

Conflicts:
	ion/test/src/com/koushikdutta/ion/test/ConscryptTests.java
141
Fix ConscryptMiddleware clobbering SSLContext that use self signed certs.

Conflicts:
	ion/src/com/koushikdutta/ion/conscrypt/ConscryptMiddleware.java
If GMS is installed we still need to make sure it will be used by AsyncSSLSocketMiddleware
Cleaner way to invoke the Conscrypt installation using a public method from the GMS
Merge pull request #424 from robUx4/clean_conscrypt_invocation

Cleaner way to invoke the Conscrypt installation using a public method from the GMS
Merge pull request #425 from robUx4/use_default_gms_conscrypt

If GMS is installed we still need to make sure it will be used by AsyncSSLSocketMiddleware
Merge branch '1.x' of https://github.com/koush/ion

# By Koushik Dutta (8) and Steve Lhomme (2)
# Via Koushik Dutta (2) and Steve Lhomme (1)
* '1.x' of https://github.com/koush/ion:
  Cleaner way to invoke the Conscrypt installation using a public method from the GMS
  If GMS is installed we still need to make sure it will be used by AsyncSSLSocketMiddleware
  Fix ConscryptMiddleware clobbering SSLContext that use self signed certs.
  141
  Further fixes around Conscrypt setting defaults like crazy..
  update build and tests
  update build and tests
  139
  Fix conscrypt initialization to not muck with it if alread initialized.
  Make conscrypt the last provider, and not the default SSLContext