Cleaned up "model change defense" pull request
Optimized and corrected stamp_fields()

Long strings could be time consuming to repeatedly hash.

And no point in sorting fields, except for messing with django-pickling:
reordering fields with no other changes will brake its pickles.