Using Request and Response instead of ReqRespData

`Resource` will use `Request` and `Response` instead of modifying `ReqRespData` directly. Doing so utilizes the type system to ensure that the properties of a request are not modified in any `Resource` method. Underlying `Resource`, in the flow runner, `Request` and `Response` will be converted to/from `ReqRespData` when needed