Explicit canceling of queries

- Provide API for explicitly canceling queries.
- This breaks the old mechanism of calling query.cancel!
Update version and changelog
DRY up specs
Clarify #io usage
Clear the async_id when the query has finished
Update changelog
Beef up specs a bit
Updating gemspec