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.
Checking/Support for not trying to deserialize the `Response` into the `RestResponse` if the user wants to do `RestResponse<Response>` (though, that would be pretty useless, but I didn't want them to get an exception for that).