Add deconstruct methods to fields with custom keywords

Fields that are adding keyword arguments to custom fields require
a ``deconstruct`` method to make the keywords available in the
corresponding migration(s). The documentation for this can be found
here:

https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#field-deconstruction
Add tests for deconstruct methods