Add support for using different serializers for read and write ops in ModelViewSets.

The feature is best described in docs/api-guide/generic-views.md,
complete with a use case, but basically this allows users to use a
nested serializer when displaying an object and a foreign key
serializer when updating/creating an object. This effectively allows
users of DRF to have something close to "read-write nested
serializers".