Refs #339 Readonly fields get displayed incorrectly in History view

Instead of passing the Version parameters as initial, override them in the object itself
That seems like a good idea, I was just toying around with it trying to get a working patch, and I think it would work, however the ```_hack_inline_formset_initial``` method is doing some things I don't fully understand. What I'd like to do is, instead of rebuiding the entire Formset from scratch, to only update the objects, and create new forms for the deleted objects.

```python
for related_version in related_versions.values():
    initial_row = related_version.field_dict
    pk_name = ContentType.objects.get_for_id(related_version.content_type_id).model_class()._meta.pk.name
    del initial_row[pk_name]
    initial.append(initial_row)
```
At this point in related_versions there are only left the Versions for which there is no related_obj in the formset queryset, so I guess there are the deleted related object. Then why is it removing the PK?

Later there are some lines prefixed by ```Hack the formset to force a save of everything.```, I see what this is doing, but why?