Fix multi-table inheritance with LinkFields

The fields LinkFields adds were getting added twice when inheriting from a model with a LinkField. LinkField tries to prevent this by check if the fields are already there, but it only checked local_fields. It needs to check all model fields, including inherited fields.

164ea5f00b3db switched from using get_all_field_names to local_fields, because get_all_field_names loads the appcache which can cause a circular import. This commit uses get_fields_with_model, which does not load the appcache, so it should be ok.