Distant relatives... (Move relational-only API out of top-level Database class and into extension methods.)

From design meeting notes:
Currently the top-level runtime database creation APIs in EF7 are:
- Database.Create
- Database.CreateTables
- Database.Delete
- Database.Exists
- Database.HasTables
- Database.EnsureCreated
- Database.EnsureDeleted

The first five of these are simple operations while the Ensure... methods are composed from the simple operations. The Ensure... methods cover the common pattern for database creation in testing and rapid prototyping. They can also be reasonably implemented across multiple different types of data store.

The simple methods are not so easy to abstract in a meaningful way beyond relational databases. For example, knowing that a database exists but has no tables is useful in relational providers since it is common for an empty database to be provisioned for which EnsureCreated will detect that it is empty (HasTables returns false) and then appropriately create the tables. But for other types of store it may not be possible to check whether or not the database has tables. Therefore we will move the simple operations to be relational-only and leave only EnsureCreated and EnsureDeleted on the common surface.
Adding switch to build.cmd to skip KRE install
Created projects Microsoft.Data.Entity.Migrations.Design and Microsoft.Data.Entity.Migrations.Design.Tests. Moved CSharpMigrationCodeGenerator, CSharpModelCodeGenerator, MigrationScaffolder and related utilities to the .Design project and the corresponding tests to .Design.Tests.
Also increased the CommandTimeout in TestDatabase.cs to 30 seconds (default) to workaround the timeout expired exceptions I get on my machine when running those tests.
Adds early filtering support.
Delete checked in Properties.cs references.
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