CURLHandle retains delegate. CURLHandle always takes in multi to use. CURLProtocol retains multi, for safety (useful for testing).
don't need to expose private API any more (it's no longer private)
CURLHandle no longer reports anything after being cancelled. Removed unit test for CURLMulti cancelHandle as there's no longer any way to see if it's done anything. Added some safety code to prevent CURLHandle calling it's delegate whilst it's deallocing
Added back a minimalist test for cancelling a multi.
improved logging
improved logging