Form.has_changed() improvements

I am using a `ModelForm` of a model with hstore field internally to update or create objects, without rendering a form anywhere. To avoid unnecessary update calls to the database when data has not really changed, I want to use ModelForm's `has_changed()`. However it seems, that does not work, as the (form) data provided for the hstore field is a string, but the initial data loaded from the instance is a dictionary.

This pull request adds some tests using a `ModelForm` and tries to fix `has_changed()`, even when key/value pairs are unsorted.