Support cancelling requests with a special callback.

Closes #119.

@swankjesse