Reworked KeyStore support for HTTPS.

Centralized the key management, removing it from KerplappHTTPD into a dedicated
class KerplappKeyStore. This class is initialized at application startup and
made accessible to the rest of the code through KerplappApplication.  When the
KeyStore is first initialized it generates a random public/private keypair and
a self-signed certificate suitable for using to sign the index.jar.  This
keypair/cert are stored in the keystore on-disk in an 'fdroid' alias.

We can't generate the HTTPS self signed certificate until the IP address for the
CN field is known. When the Wifi call back with the IP is invoked it tells the
KerplappKeystore the IP address to generate a certificate for. A new separate
public/private keypair is generated and then used to sign a self signed
certificate with the appropriate CN field that gets stored in the keystore under
the "https" alias.