Add tests for factories and compat

Btw, in this case `assertCountEqual` doesn't do particularly much for us. Using py.test I'd write this as:
```python
def test_fields():
    expected_fields = {
        'id',
        'foo',
        'foo_id',
    }
    expected_fields = set(wipe_id_fields_on_django_lt_17(expected_fields))

    fields = set(Model._meta.get_all_field_names())
    assert fields == expected_fields
```