Implement deflate compression

Several other changes have been made:
- ~~Body is no longer an io.ReadCloser but an io.Reader, deflate and gzip
  compressions require a full read on the body.~~
  //Refactored Body to allow it to be an io.ReadCloser and manage Body and Compression reads and closes [fd2a370](https://github.com/sschepens/goreq/commit/fd2a370254cf1db0322c4fb121fa5f80c75881f2)
- ~~Body is now closed by us, preventing posible connection/memory leaks,
  this https://github.com/gorilla/http does this as well.~~ // Same as above
- Request.Compression is no longer a bool but a string allowing to
  specify 'gzip' or 'deflate' else the body is not compressed
- Requests always send Accept-Enconding: gzip,deflate because we support
  them and we decompress it transparently to the user

Furthermore **i have created another interface that i believe is better than this one**, please check it:
[alternative_compressions](https://github.com/sschepens/goreq/compare/alternative_compressions)
We need to keep both in the case we compress responses, when the user calls Close() on the body it must close res.Body() AND our CompressedReader, so we must keep a reference to both objects.
@marcosnils have you checked the other interface i developed for compresison? check out me branch https://github.com/sschepens/goreq/compare/alternative_compressions

Ps: Plaaaaa