Fixed #18898: has_changed now works with instances

Fix for [#18898](https://code.djangoproject.com/ticket/18898)

Since form initial accepts both string and python values, has_changed also needs to work with both.

I've updated ModelMultipleChoiceField to_python so that it returns the filtered queryset based on the value.