SQLite Migrations: Lift foreign key creation to CREATE TABLE statements

(I'm looking for feedback on a few of the TODOs.)
Apparently, I've been over-thinking this. The referenced tables do not need to exist when the foreign key is created. The check is only done on insert/update.