Updated schema editors' alter_field to handle virtual fields.

This fixes repointing of ForeignKey and ManyToManyField on non-SQLite
backends.
Fixed schema.tests.SchemaTests.test_fk by adding the new FK properly.

Each ForeignKey now has to be added to a model class, i.e. its
contribute_to_class has to be called, otherwise the field doesn't create
its auxiliary field.

A new dummy target model had to be introduced as adding a new ForeignKey
also modifies its target model, specifically its list of models pointing
to it, which is used, among other things, to cascade deletes. As this FK
field is only temporary, we can't afford modifying a global class used
elsewhere.