- refactor creation of SSL Socket, and initiation of TLS on existing
socket, to TrustManagerFactory
- use KeyChain to choose/supply client certificate creds to ssl socket
context.
- during checking of setup, supply the current Activity to the
TrustManagerFactory so it can popup the "choose client certificate"
screen
- hardcode Imap to use auth EXTERNAL instead of auth PLAIN
- add checkbox to outgoing server settings layout to enable client cert.
auth
- label for the client cert. checkbox on outgoing server settings
Add two Account properties/prefs:
- storeClientCertificateAlias
- transportClientCertificateAlias
which save the alias of the client cert. chosen by user for each
operation.
- ImapConnection doesn't directly access the account, so "proxy" the
access to the client cert. alias preference through the ImapSettings
Use the KeyChainKeyManager class to select and access creds in the ICS
private creds store. 

Note: two abuses of statics here:

1) during the 'check settings' activity, we want to prompt the user to
select the client certificates, which requires a reference to that
Activity, so it is temporarily saved in a static variable in the
TrustManagerFactory then cleared.

2) simalarly, once a cert. has been chosen, the alias that was selected
is held in a static String in the TrustManagerFactory to be grabbed
later to use in updating the Account/preferences.
- create the ssl/tls socket using the saved client cert alias
- support "AUTHENTICATE EXTERNAL" imap command
- use the configured client cert. alias for the transport ssl/tls
sockets
- AccountSetupBasics doesn't currently support any client. cert
configuration so pass "false" as the new extra variable
- Add EXTERNAL auth to the incoming server config, and ensure that it's
selection requires use of ssl or tls.
- when EXTERNAL is selected, have the 'check settings' prompt for the
user to choose a cert.
- support the checkbox to enable client cert. auth that was added to the
outgoing server layout.  validate that connection security is selected
when client certs are requested.
- request that the 'check settings' prompt for the user to select a
client cert alias when necessary
- when requested, enable the prompt for the user to select a client
cert. alias during ssl/tls negotiation by setting the current Activity
into the TrustManagerFactory (HACK).  after the settings-check is
successful, grab the selected alias and save it to the Account object