Support request body validation

Add the ability to validate request bodies in addition to response bodies.

This probably needs some cleanup and more test scenarios, but i wanted to get the PR started so we can make progress towards a merge.