Null no no... (Preemptively react to DI changes)

DI has been returning/proving null for services that are not registered. This is about to change. Updating EF to depend on IEnumerables for optional services and to not expect GetService to return null.
SQLite: Add some low-hanging fruit implementation

Changes include:
* Fix CreateTables & HasTables on SQLiteDataStoreCreator
* Implement SQLiteDataStoreCreator.Delete
* Update SQLiteTypeMapper.GetTypeMapping to use aspnet/DataCommon.SQLite#32
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