Refactor to allow easier overriding.

Refactor the handling of connection:didFailWithError: and
connectionDidFinishLoading: so that it is easier for subclasses of
MKNetworkOperation to override aspects of that handling.

This takes the piece for tidying up internal state into
updateStateForFinishedConnection (cleaning up some duplicated code on the
way) and puts the actual response interpretation into
sendNotificationsForFinishedConnection.

This also adds setResponseData and setResponseJSON so that the subclass
can change the responseData.  This is useful for injecting mock
responses or faults for testing.
Merge branch 'refactored-response'