#36 Allow sending request body using InputStream

A couple of notes regarding this pull request:

1. This basically necessitated refactoring `Wire` to use `InputStream` instead of `byte[]`. Where `byte[]` is accepted, it has been converted to `ByteArrayInputStream`.
2. After the refactoring of `Wire`, `CachingWire` became broken. I found out that this was because changing `CachingWire.get()` to accept `InputStream` meant that `@Cacheable` could no longer test for equivalence of two `InputStreams` the way it did with two `byte[]` instances. I realized that `GET` requests don't have request bodies altogether, which explains why the `content` parameter has been deleted from it.

It's a rather big change so please review meticulously.