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)
Why do we need a separate variable to handle the body reader?. We could manage a way to use the same variable for compressed and uncompressed request / responses. 

What do you think?