WifiStateChangeService/Receiver for broadcasting network update triggers

Get the WiFi state changes from the system, if that results in a new
connection, then send a local broadcast to tell everything to update.

fixes #3201 https://dev.guardianproject.info/issues/3201
QrWizardWifiNetworkActivity enables wifi and starts the webserver

This makes it less button clicks and things to remember when going through
this process.
move all QR Code image generation into AsyncTask to keep things snappy

Generating the QR Code image can take some time, so do it in an AsyncTask
which then updates the ImageView once the QRCode is complete.

refs #3201 https://dev.guardianproject.info/issues/3201
only trigger WifiStateChangeService when wifi is enabling or enabled

WifiStateChangeService waits for WiFi to be enabled and set up with an IP
address before it will continue.  Therefore, only trigger it when WiFi is
already enabled or in the process of becoming so.  Otherwise, no need to
worry since WifiStateChangeReceiver will trigger whenever wifi is connected.

This also adds a new trigger to the "Use HTTPS" preference, so that it will
take effect immediately when the checkbox is changed.
make sure button light is off when showing "Enable Wifi"
run LocalRepoService as a unkillable foreground Service

This also provides a unkillable notification.  Since the local repo is only
supposed to be running while users are actively in the swap process, it
makes sense to make this a permanent, unclearable notification.

refs #2908 https://dev.guardianproject.info/issues/2908
move LocalRepoKeyStore to .repo subpackage
rename KerplappApplication to FDroidApp

refs #3204 https://dev.guardianproject.info/issues/3204
rename AppSelectActivity to SelectLocalAppsActivity

refs #3204 https://dev.guardianproject.info/issues/3204
rename KerplappActivity to LocalRepoActivity

refs #3204 https://dev.guardianproject.info/issues/3204
rename net.binaryparadox.kerplapp.repo to org.fdroid.fdroid.localrepo

refs #3204 https://dev.guardianproject.info/issues/3204
rename LocalRepo to LocalRepoManager

refs #3204 https://dev.guardianproject.info/issues/3204
rename net.binaryparadox.kerplapp.network to org.fdroid.fdroid.net

refs #3204 https://dev.guardianproject.info/issues/3204
fix my idiotic fingerprint generation bug

same fix as:
https://gitlab.com/fdroid/fdroidclient/commit/649bfa10b77b3a353a26bffad60c5ba6ea7a02a2
order repo metadata in header the same as fdroidserver makes

Just in case...
split out getCertificate() method in LocalRepoKeyStore

This makes it possible to store the certificate in the index XML like the
fdroidserver tools do.  It might be useful elsewhere too..
include 'pubkey' metadata in index.xml like fdroidserver tools

It turns out that the index.jar verification process compares the 'pubkey'
data to the certificate stored in the jar META-INF/.  So Kerplapp needs to
include 'pubkey' in order for repo signing to work.
upgrade zxing library to v3.0.1