Split foreign relations in initial migrations into separate migrations

Postgres is more of a stickler when it comes to constraints. Since we
can't defer constraint creation, nor defer its validation over multiple
migrations, we have to split the migrations.
This probably won't be a problem in Django 1.7.
We are also splitting the migrations on existing installs (checking for
existing table/column names)
Fixes #3160