Miscellaneous fixes, socket close/error handling

Also add a 'cancel' method to IncomingResponse which simply resets the stream.