Issue summary
REST Resources that have required attributes can't be modified with PUT requests without sending the entire object which has led to problems that we were seeing with #1133 and #1037.
We need to be able to combined required fields with changed attributes when we save changes to REST resources. In order to do this we need to know what attributes are required and not as shown in the documentation.
As these resources as generated from the same files as the docs, resources should know what attributes are required and not.