Implement new GSv3 design

* Change structure of $wgGettingStartedTasks so task name is key of
  associative array.
* Users only choose a task on Special:GettingStarted itself.
* Redirected to a random article for that category, which will show
  JavaScript toolbar if JS supported.
* First step of tour automatically launches, and remainder show if
  they choose Show help in toolbar.
* Remove obsolete code.
* Restructure to avoid repetition and move logging decisions
  closer to what's being logged.
* Add some helper functions for task cookie.
* Implement GettingStartedNavbar, including page-save-attempt.
* Use mw-gettingstarted- prefix consistently.
* Add type hints for some object parameters.

Change-Id: Ia9931733a4366e4826d0e4d7b3a9ab197e44f553
Merge "Implement new GSv3 design"