fixes #3889 - don't reload nested lookup keys during render, so validation errors aren't lost
fixes #3752 - move data population from migrations into seed script
fixes #3930 - refactoring of edit_self implementation.
review fixes + test fixes