Fixed #23338 -- Added warning when unique=True on ForeigKey

Added a warning when unique is set to True on a ForeignKey, telling
the user to replace it with a OneToOneField and remove unique=True.
*Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.* might be misleading since it also changes the way we access that model from the foreign model (using `foreign_instance.foo` vs `foreign_instance.foos[0]`), which might require further work.