Implement deflat 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.
- Body is now closed by us, preventing posible connection/memory leaks,
  this https://github.com/gorilla/http does this as well.
- 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