added tests for +[SPTask awaitAll] post-task-failure

When one task in an +awaitAll group fails, all of the child tasks and
completed objects are purged. However, the child tasks can still cause
unexpected side effects since they aren't cancelled. Two main trouble
makers are FailThenComplete and FailThenFail
[SPTaskTest testAwaitAll_*] fixes

added fixes for broken tests introduced in last commit, with the
rationale that when one task in an awaitAll group fails, the others
should be canceled.  at the very least, they shouldn't continue to fire
callbacks attached to awaitAll
adding more awaitAll tests

this time for cancellation flows