Add extension method to lookup property by storage name

Move to extension method
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.
SQLite: Add Northwind query tests
Stroll of the navigator... (Consolidate and better cache navigation access code)

Dependent navigations may be for collections or references. This code moves the check for collection/reference inside the cache lookup to avoid doing it over and over. Also, the property setter/getter are made available for collection nav props because these are needed for creating an setting a new collection automatically.
Fix #293