Bugfix for camelize/underscoreize

The camelize and underscoreize functions were changing the actual data
that was passed in. This led to the problem that the returning
Response.data was containing camelized keys.

The data attribute of Response should instead always contain the
unrendered data.

I also added some more tests to make sure it behaves like it should.