safer bodyReader:

this makes it safe to call body(or something that uses it) and
then use bodyReader. Calling bodyReader will cause subsequent calls
to body to result in a BodyPartiallyStreamed exception.

still a bit rough around the edges and might require some exception
handling when working with mvars (bracket).

fixes scotty-web/scotty#131