python 3 issue with map behavior

`map` returns an iterator instead of a list in Python 3, so if `only` or `exclude` kwargs are passed to `model_form()`, the iterator is consumed before line 241, so by that point `field_names` is no longer what it's supposed to be. The standard way to deal with this is to wrap the iterator in a `list()`, which I did.

*edit* I edited this commit, which originally had a few more changes, but I realized they addressed the same exact issue as #64