Foreign keys

Adds a register for foreign keys.  This isn't strictly necessary for all foreign key relationships, but for situations where the related models should be in separate packages, it can help.