* cache `body` processing results (Buffer, String) with `Ref`
* add `readBodyAs(Buffer|Stream|String)` for accessing `body`
* fix tests
* add tests for `readBodyAsBuffer` and `readBodyAsString`
* move Body to HTTPure.Body and rename it to RequestBody
* add HTTPure.Body.toStream
* consolidate `readBodyAs(Buffer|String)` into `to(Buffer|String)`
and move `Ref` from top level `body` down to `buffer` and `string` fields
* fix tests
* import constructors explicitly
* revert changes
This reverts commit e53188c3e6d74ca00d3d891829ca91f0803b870b.
* update `Body.read` to return `RequestBody`