NEW: Pre-populate and disable foreign key field on has many lists.

This is a common use case, and by default a form field is added which
has no effect. While this coupling is undesirable, it makes the default
behaviour much more sensible.

See #2662, #2651, #2637 for more information.
Merge pull request #2663 from ajshort/has-many-prepopulate

NEW: Pre-populate and disable foreign key field on has many lists.