backport "All models used in PATCH verbs should have nullable fields" to v0.6

This is #561 applied on top of the v0.6 branch.

I also tidied up some of the tests which were impacted by this change.