Extend the tests of message endpoints

Before doing any refactoring, it is imperative that there are tests in
place so that existing functionality does not end up being broken.
MessageSerializer: Refactor setting read only fields

There was no need for overriding the ``__init__`` method when the
necessary functionality is also provided directly by DRF by
setting the corresponding value of the Meta class.
Refactor some functionality of MessageSerialier to a mixin

This mixin can then be used by other classes wishing to implement
``Message`` serialization.
Add a Message serializer suitable for listing messages

The serializer is more suitable for listing messages because it
represents the linked Member as a nested resource making it
unnecessary to send an additional request to get the member
details for a particular message.
Add a ViewSet mixin for choosing a serializer based on the view action

The ``MultiSerializerViewSetMixin`` lets ViewSets mixing it in provide
an additional dictionary mapping actions to serializer classes which
are used only for those actions.
Use the ListMessageSerializer for the endpoint listing the messages

This is implemented by mixing in the previously added
``MultiSerializerViewSetMixin`` to the ViewSet providing the Message
endpoints and giving the ``ListMessageSerializer`` as the appropriate
serializer.
Merge branch 'feature/nested-member-in-message'

Closes #7