datastore: client - read HTTP before 2 operations that eventually read it

This may go against the principle of failing fast. I'm proposing it because the HTTP body read operation is called in 2 places, and I think it could be called in just 1.

Thoughts?
I completed the CLA under this github username.

And I added the `defer` to close the response body read. In case this helpful to anyone else, here's why this `defer` was added, http://golang.org/pkg/net/http/.