Change Request.response to a lazy future object.
Add lazy json_body property, improve tests