Fixed #1891 -- ForeignKey with m2m filter can duplicate foreign model entries in ModelForm/ModelChoiceField

https://code.djangoproject.com/ticket/1891

Tests pass on SQLite:

    Ran 5639 tests in 654.068s
    OK (skipped=417, expected failures=10)