Allow create and update with kwargs

The fields to be sent in POST and PUT requests can now be provided as
kwargs to the update and create methods instead of as a dictionary in
the 'data' argument.
Fix decoding and make it consistent

A few mimetypes were special cased to change the name of the field
which the response body would be accessed through which was confusing
and inconsistent. Now mimetypes which are not JSON will have the
payload accessible through the 'data' field.

Also fixes a mimetype parsing bug where text/plain was not recognized
due to some servers providing an encoding with the mimetype.
Update commands for api changes

The commands code has been updated to use the new method of specifying
fields to create and update methods. Also changes was the field used
to retrieve the diff body in the patch command.