Schemer fixes - now a single run, with foreign keys only added after all tables are created. default value can now be NULL or a function