close the response body and constrains RoundTrip implementation to spec

* close the response body 
* return nil response when returning error
Normally these are inverse, leave the stack if the preconditions aren't met.  Swap the branches so not to start nesting of conditionals.