Airfix modeling...

Airfix modeling... (Updated support for navigation fixup based on foreign keys)

Added verification of navigation fixup on materialization to monster model tests. Fixed issues with key comparisons:
- Binary keys now compared correctly
- Nullable foreign keys now interact correctly with non-nullable primary keys of the same underlying type
- Null foreign keys are handled

Also added support for 1:1 optional self-referencing relationships which required that navigations to contain information about the direction they point. Currently using the words principal and dependent for this relatively low-level API, but this could be changed if we can find more understandable terms.
Actually, it looks like the other projects have it and it will get added back in if I remove it, so I'll leave it  as is.