Writable nested serializers

Hi Tom,

Sorry, but this branch got into a weird state.  Merging with default reverted the previous one-to-one commit (due to the merging and revert in default).  I didn't catch it when I opened the last pull request.  So this should basically be identical to #594.

Mark