Add CancellationToken to all Async apis for explicit cancel, fixes #144