adding support for merge / patch, IHttpActionResult response types, and cache calls use <T> 

This will allow for better support of 3rd party caching tools such as Redis. I created a Redis provider using ServiceStack.Redis but it requires you to pass the type to operate correctly (returns strings instead of typed objects).

Not sure why its freaking about the whitespace, its set to space on my local copy still. add ?w=1 to  the url to see the actual changes ignoring whitespace.