Core support for disabling HTTPS based on GeoIP

* Introduce a hook allowing automatic redirects to HTTPS to be
  disabled on the basis of client IP address.
* Make User::requiresHTTPS() return false if the client IP is
  blacklisted as such.
* On login, make the "stick HTTPS" option default to false if the
  client IP address is blacklisted as such.
* Do not redirect anonymous requests to HTTPS.
* If $wgSecureLogin is enabled, link to the HTTPS login page *via*
  the HTTP redirect, so that there is no need to vary the cache of
  anonymous page view HTML on client IP address.

Change-Id: Iaa9dd2108431b8c35e05db4bfe78a629018a003c
Only show prefershttps if IP can use HTTPS

Change-Id: I7493a329d35fad3f17aac2df935f4f9306828884
Merge changes I7493a329,Iaa9dd210

* changes:
  Only show prefershttps if IP can use HTTPS
  Core support for disabling HTTPS based on GeoIP