Added support for self-signed certificates using MemorizingTrustManager

This patch integrates MemorizingTrustManager as suggested in https://github.com/rfc2822/davdroid/issues/3

MemorizingTrustManager is included as a git submodule (so updates should be automatically included when pulling). 

The patch has been modified to fit the new singleton pattern for TlsSniSocketFactory. The new version changes TlsSniSocketFactory and all the activities/services that may eventually use the TlsSniSocketFactory

This isn't extensively tested, but it works on my phone with a self-signed certificate that does not have the CA extension set (importing this type of certificate into the android trust store did not help, as it is considered a "client" certificate). I tested on Cyanogenmod 11 M4.