SpecialCentralAutoLogin: Clean up javascript

Mostly as follow-up to I8285b26e9394a6c1d504, though most of the
underlying things were already there.

* Consistently use <<< strings to make the scripts easier to
  read. We already don't have any tests or linting for these,
  at least we can make it easier to review by humans.

* Apply coding conventions:
  - Single quotes.
  - Whitespace (I'm fine with this being slightly more minified
    as it is served raw, though I don't think we're worried about
    size in particular here, either way, whatever whitespace
    there is should be consistent. Only a few of the lines
    weren't properly indented so fixed those.

* Remove redundant 'window' host access for the location.href
  assignment. 'location' is a global variable. Accessing
  through window is only useful if you intend to account for
  absence (e.g. 'if ( window.location )') but that isn't
  happening here (and wouldn't be needed since location is
  always present).

* Give 'url' and 'u' variables more descriptive names.

* Use the Promise interface of $.getJSON for the success handler
  as well, not just the error handler.

* Use Promise.fail instead of the deprecated jqXhr.error alias
  to it.

* Add "; charset=utf-8" to the Content-Type header
  (matching MediaWiki core's behaviour for index.php's text/html,
  api.php's application.json, and load.php's text/javascript).

* Respond with json instead of javascript in the error for
  the /toolslist request.

* Call mw.messages.set() with an object instead of three times
  with one key/value pair.

Change-Id: I2d7f27520f37991d3975920d6a70233475630348