Bug #17428: Admin formfield validation uses form model instead of registered model.

The model specified in ModelForm.Meta should not limit the
available fields. This solution uses the same modelform factory used by
the ModelAdmin.get_form method, which adds the registered model's
fields.

https://code.djangoproject.com/ticket/17428

This is my first django core contribution, submitted during the Stockholm sprint. Please double check that I don't break anything. I expect it to be rejected ;)