Use one keypair for all certificates.

Previously a new random public/private keypair were used for every self-signed
certificate in the Kerplapp Keystore. Now one random keypair is generated and
used for all certificates.

refs #1981, #2542
keep "Send to Local F-Droid" on the menu, its a debug thing
Sign the index.jar file using Kerplapp keypair/signing cert.

No longer using the testkey mode of zipsigner-lib to sign the index.jar.
Signature is now applied using the keypair & cert associated with the
INDEX_CERT_ALIAS in the keystore.

Without zipsigner-lib-optional on the classpath zipsigner generates
ClassNotFound exceptions when using custom keys. Unfortunately this means yet
another jar in the libs directory :-/
Generate an index.html to bootstrap the repo.

Implements Feature #2668 : index.html for bootstrap.

When the IP address is set from wifi the KerplappRepo now generates an
index.html in the wwwroot of the repo. If the Kerplapp host has the F-droid
client APK installed it will be symlinked (or copied) into the wwwroot and used
by the bootstrap page for clients to install F-droid. In the event you have just
Kerplapp and not F-droid the link points to the internet accessible F-droid APK.
Fix crash on launch with unified key signing.

commit af674d74828c115c37827f9963f7b5fc56bcb8f9 introduced a regression that
caused the app to crash on the first launch after install (when creating a brand
new BKS keystore). The KeyManagerFactory member variable needs to be initialized
before any calls to addToStore().

closes #2693
use Locale.ENGLISH for ASCII, Locale.CANADA can mean French i.e. non-ASCII
remove all trailing spaces from .java (sed -i 's,[[:space:]]*$,,' *.java)