One, Two, Many... (Add ManyToOne API for configuring relationship from dependent end)

This is the equivalent API to OneToMany but for configuration of the relationship from the dependent end. It's primary use is to allow unidirectional relationships to be configured from the dependent end without needing specify the generic type and without needing to pass null for the missing nav property expression
Adds Min, Max, Sum support to relational query.
Fixing some parameter names
Updated the model diffing algorithm

1. Entity types are matched by name first. Out of the remaining ones they are fuzzy matched (at least 80% of the properties must match across both entities).
2. Using the entity type pairs it finds the table pairs (currently 1 to 1)
3. Foreach table pair it builds a list of column pairs. The column are matched by the corresponding property names. Out of the remaining columns they are matched by their names. Simultaneously it builds a global map of columns, used later when matching column references from primary keys, foreign keys, indexes.
4. Using the table pairs it finds the moved, renamed, created, dropped, tables.
5. Foreach table pair:
    Using the table column pairs it finds the renamed, added, dropped, altered columns.
    It finds the primary key changes (drop, add or both).
    It finds the foreign key pairs.
    Using the foreign key pairs it finds the added, dropped foreign keys.
    It finds the index pairs.
    Using the index pairs it finds the renamed, added, dropped indexes.
Merge branch 'BetterDiffs' into dev
Added a visitor (DatabaseModelModifier) that will be used to keep the database model up to date while the migration operations are handled.
Updated code in migrator to be able to determine the source model for a migration which is the target model of the previous migration, or empty model if first.
Updated code to pass the source database model to the migration operation SQL generators instead of target model. The database model is cloned and updated as the operations are handled.
Updated code to use the migration operation sql generator factories where needed (was TODO).
Added ability to respond to synch queries - both materialized and non-materialized queries working
TODO: add same ability for asynch queries
Making public APIs virtual
Exception to the Exception - Update Migrator to expect DataStoreException

Migrator was still expecting a DbException when history table doesn't exist. But this is now a DataStoreException.

Also updating the relevant unit test. Note the unit test didn't catch this change. Catching this change would require adding functional tests that hit the actual data store exception when the table doesn't exist. There aren't any functional tests for migrations as yet.
new[] { 1, 2, 1 } (Implementation of OneToOne for 1:1 relationships in Code First)

This is mostly refactoring and tweaking of the existing OneToMany code to make it also work for OneToOne. One functional difference is in the convention for finding an FK where for 1:1 relationships the PK is used if no other property matches the FK convention.
Monster cleaning service... (A bit of cleanup in MonsterContext`.cs)

Combines the two sections of fluent API calls into one.
Refactoring ModificationCommandBatch to improve extensibility
Remove exception wrapping from query compilation
Adding unit tests for Redis Query classes
Updated the migration tool to work with K10, including core CLR:

1. ifdef-ed code from EntityFramework.Design assembly that don't compile with core CLR.
2. Replace Assembly.LoadFile with Assembly.Load and removed the References option.
3. Replace all variable names like assemblyFile with assemblyRef.
4. Using PathResolver to resolve relative paths instead of GetCurrentDirectory.
5. Updated code DbContextConfigurationExtensions.GetMigrationNamespace to cover the case of empty context namespace.
6. Updated tests.
Added a SqlServerMigrationOperationPreProcessor class that is used to pre-process the migration operations (alter column and drop column) before generating SQL. A drop column is pre-processed into a DropDefaultConstraintOperation if a default exists followed by the DropColumnOperation. Alter columns are preceded/succeeded by corresponding Drop/Add default constraint, primary key, foreign key, index. The preceding/succeeding operations are inserted before/after groups of alter column operations. Alter timestamp column is pre-processed into drop/add column.

Changed IMigrationOperationVisitor from interface to abstract class to be able to provide a default implementation.
Blue Screen of Curable Illness

Initial cut of middleware to provide a custom error page when a database exception occurs in an ASP.NET vNext. The error page is displayed when there is some action that can be taken with migrations that may fix the error (applying migrations, scaffolding a new migration, etc.). If the action is just applying the existing migrations then we also include the ability to apply them from the page. This makes use of another piece of middleware that can apply migrations.

This functionality will only ever be enabled in local dev mode by default (same as other diagnostics pages for ASP.NET vNext).

This is just an initial cut, things that still need to happen are:
 - Better error handling/validation in middleware
 - Tests
 - Handling context not being registered in DI
 - Styling for error page (currently it just has very simple styling largely copied from the existing ASP.NET vNext error page)
Refactoring of result operator handling to support composition and improve perf.
Adds Last translation to relational query
Fixes relational order-by client eval