Parameterized Response Type (RestResponse<>)

This is something that I think many people want, and I needed for a project I am working on.  It maintains backwards compatibility.  I'd suspect in R2.0 it would be worth stripping this if you plan to make Response parameterized (as I read in the Docs pages).

You can see very basic usage support in the tests.
Putting these here removes them from the public API since the class isn't public.