Cookbook: Use assert.async instead of asyncTest, start, and stop

Also updates occurrences of expect to assert.expect.
Fixes #83.

Closes #84.
This is still problematic. We're keeping `assert.expect` and it isn't required to call `assert.async` for each async path, as long as there's just one exit point. I also don't like the language of "resolution callback", as mentioned here: https://github.com/jquery/api.qunitjs.com/pull/82#discussion_r18362997