Rewrite backing cancellation code

This code removes some of the insane code in Akavache.Http that fought to correctly do cancellation, and makes it a bit more straightforward.