ReadLiteralStream and friends.

* RawRequest implements the io.Reader interface
* ReadLiteralStream returns a LimitReader matching the literal size
* The reader shares the underlying buffer and therefore must be read before
  other operations are performed