Change serializer mixins to get reversions working

1. Instead of having a RelatedTopicModelSerializer that should be
inherited from, I made a RelatedTopicSerializerMixin that should be
mixed with rest_framework.serializers.ModelSerializer.

2. Shifts the order of serializer mixins: ReversionSerializerMixin
should always be first, in order to catch any subsequent calls to
save_object().

3. Adds a line to the note test (more coming) to make sure revision are
created.

4. I'd forgotten to register the note models in reversion! oopsy. This
was a little tricky because note sections use concrete inheritence, but
that was solved by using the "follow" kwarg in reversion.register to
make sure the NoteSection one-to-one relationship was traversed.
Change serialization of note statuses; update tests

Validation of status values now happens at the field level instead of
the serializer. I couldn't figure out why exactly I had to do this, but
I did.

Updated tests to take into account using labels for the statuses instead
of numbers.
Refactor API tests a lil