Async: Fail assertions after existing assert.async flows are resolved

Fail assertions after existing `assert.async` flows are resolved.

Fixes #668
Closes #669
This can be done more cleanly (i.e., without use of internal properties), but at the expense of assuming other functionality to work as expected:

```js
// Testing `assert.async` means committing the entire test to it
var done = assert.async(),
    doneTwice = assert.async();

assert.throws(function() {
    doneTwice();
    doneTwice();
}, new RegExp("…") );

done();
```