Save the django serializers

This addresses #225 by:
* Removing all changes to Django's serialization code
* Extending Django's serializer stack in our own code
* Changing all imports to our own code, and the IDs of our serializers/deserializers not to overlap with Django's build-in

This also addresses:
* Creating unit tests for relevant utils functions.
* (Partially) Cleanup item #254 (put code into "shared", rather than "utils", as it is Django-specific)

To test (as I have already done):
* Generic syncing tests (set up central server, distributed server; run `generaterealdata`, run `syncmodels`)
* On the distributed server, run `manage.py test main.DateDiffTestCase` and `manage.py test main.VersionDiffTestCase`

@jamalex You are required for this code review
@ruimalheiro or @gimick Could you pull and test this?