Make it clearer how timer functionality is grouped
Expose CURLHandle.originalRequest
Consolidate to a single handle:didCompleteWithError: delegate method
Shift responsibility for cancelling around a little
Single -removeHandle: method