Add ability to use InputStream as source of RequestBody

Currently you can only use static resources when creating a RequestBody. In practice it can be beneficial to provide an InputStream as the RequestBody data source. For example an input stream can be monitored during the upload so that a use can be provided with feedback about the upload progress.
nit: rename `is` to `inputStream`

(that way the parameter name in your exception lines up with the parameter name in the declaration)