Fixed GenericRelation inheritance.

In order to work correctly, each model needs a separate instance of
GenericRelation with an appropriate reference to the model, even proxy
models. That means parts of the old mechanism of virtual field inheritance
had to be reintroduced, although most virtual fields can be shared among
subclasses without any issue. Therefore the per-subclass field cloning
feature is optional and controlled by the clone_in_subclasses class
attribute.