Use async API calls for wikitext parsing

Authored by Mattflaschen-WMF on Mar 11 2016, 2:54 AM.
This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.


Use async API calls for wikitext parsing

To do this, had to make much of the control flow async.

Introduces a cleaner API (WikitextDescription and mw.Title)
for such parsing, with back-compat shims.

The 'test' tour uses the recommended functionality, and 'onshow'
is temporary to show the deprecated API.

Also, add back 'launch other tour' demonstration step to test.js,
and validate step name.

Add descriptions to all steps in QUnit test. Only one really required
it (so .initialize() will resolve), but doing it for all makes it less
error-prone for future copy/paste.

This also fixes T64400 since mw.Api.plugin.parse already specifies
the content model.

Bug: T46925
Bug: T64400
Depends-On: Ic0d762d02c96e0b39b4983d3b66ebdfb6f88d3a2
Change-Id: I9d4f7cd64f6f1c5d02cfc3545a368b4a8efd45f8