Add support for HTTPS 

Added an optional makeSecure() method you can call before start() to serve over HTTPS instead of plaintext HTTP
Allow hostname binding for SSL
Switch makeSSLSocketFactory() to use default system KeyStore type.

Rather than hardcoding JKS as the KeyStore type makeSSLSocketFactory() should use the system default. Android does not ship a JKS KeyStore provider but the BouncyCastle BKS format will work fine.
Adding a makeSSLSocketFactory method accepting preloaded KeyStore/KeyManagerFactory.

The existing makeSSLSocketFactory() method only supports loading a KeyStore from a classpath relative file using a provided passphrase. An additional makeSSLSocketFactory added in this commit allows the caller to provided a preloaded KeyStore/KeyManagerFactory. This can be used by callers that have a KeyStore/KeyManagerFactory loaded in memory, or from an arbitrary InputStream not on the classpath.
Adding a makeSSLServerSocketFactory method that accepts a KeyManager array.

The other makeSSLServerSocketFactory method accepts a KeyManagerFactory which it
retrieves an array of KeyManagers from. It is cumbersome to wrap the
KeyManagerFactory but easy to wrap KeyManagers individually. Supporting callers
providing their own KeyManagers allows for more advanced keystore management.
Merge branch 'master' of https://github.com/guardianproject/nanohttpd
Initial commit of nanoWSD