Try a request up to 3 times if it gives us an EOFError (#12)

Presumably EOF when reading the http response headers means something
has gone horribly wrong on the server-side and that a retry is
acceptable.

This also helps catch cases when the remote end closes the connection
(say, due to a misconfigured proxy).
- fix a bug where we'd eagerly read too much from the body and get
  an EOFError if the connection was closed at the end of the response.
- Add 'discard_body' shorthand method for those times when you just
don't care about the body.
- Be specific in how much we're reading for the http body length
  (otherwise we could hit EOF by accident on connections terminating after
  this request ended)
- add a todo to note that JRuby+SSL is still not super awesome for when
  I start digging into this again.
- version bump