Replace io.Reader.Close() with drainAndClose.

Draining a reader involves reading all bytes until the io.EOF (or an error).
This is meant to optimize in favor of connection reuse which requires http
clients to read responses' bodies completely and close them.

Go 1.3 (when released) shouldn't need this, but it might be kept for those 
who want to keep using 1.2 (or possibly even older) and still be efficient.

This should deal with issue #17.