Created by: danielrhammond
Cancellation is provided by a token passed into the continuation methods, which check for the cancelled state before executing their blocks and return a cancelled BFTask if necessary, based on discussion from #18
Don't particularly like the multiple with
s in the method signatures, but it seemed better to go follow the pattern of continueWithExecutor:withBlock
/etc... really open to suggestions if you have something else you guys would prefer.