Added a Subject Alternative Name w/ local IP to https cert.

The default StrictHostnameVerifier used by the SSL stack on Android/Java does
not accept certificates with the CN field equal to an IP addres, complaining
about hostname validation failing. This happens regardless of the TrustManager
implementation, so even using MemorizingTrustManager or
AndroidPinningTrustManager does not solve the problem. Adding a X509 extension
specifying the IP address as a Subject Alternative name of type IP is enough to
make the default StrictHostnameVerifier implementation happy. This avoids us
having to hack about with an overloaded implementation that may be unsafe. As
good a compromise as any!
Implement a custom KeyManager to force an SSLContext to always use the HTTPS key alias.

Kerplapp has one keypair and two certificates in its keystore. The first
certificate is generated on first run and is used for signing the index.jar. The
second certificate is regenerated as required and contains the current IP used
for the HTTPS server. This certificate must be regenerated whenever the IP
changes. Using the default KeyManager is unreliable: it sometimes uses the
index.jar certificate and not the https certificate. In order to force the use
of the HTTPS certificate we provide a wrapped KeyManager that forces the right
alias to be used. Convoluted, but the only apparent solution outside of
managing two entirely separate keystores with two copies of the private key
and only one certificate per keystore.

This should be the last requirement for issue #2669
Provide KeyManagers to HTTPD directly instead of using the KeyManagerFactory.

The KerplappKeyStore now provides a wrapped KeyManager that should be used
instead of a vanilla KeyManagerFactory. We use the new NanoHTTPD method to
accept direct KeyManagers instead of letting it collect its own from
a KeyManagerFactory instance.
Updating to latest NanoHTTPD to improve SSL support
Adding max age property to Kerplapp repo index metadata.

In order to help address the "freeze attack" identified in the Fdroid
audit support has been added to the fdroid-client & server for a 'max
age' property
(https://gitorious.org/f-droid/fdroidclient/commit/d21788569fe9e38f7ac6c4f2e1a2a42bbc3daa0e).
Presently the fdroid client does not enforce this max age, but we should
add it to our repo index for future support.

A preference screen entry was added to allow manipulation of the max age
timeout. It has been set to the same default value as the official
FDroid repo's maxage property (14 days).

refs #2667
Remember local repo setup for App select activity.

Kerplapp should pre-select applications on the repo app select activity
that have been previously added to the repo. This is accomplished by
modifying the AppListLoader to set the loaded AppEntry to 'enabled' when
there is a corresponding APK file in the repo directory from a previous
setup.

This patch addresses bug #2469 - 'remember local repo setup'.
run Eclipse code formatter in Android config