Some refactoring in query in preparation for provider specific SQL gen
Whippersnappers in sidecars... (Initial work on detecting foreign key changes)

Lots still to do here--this is an attempt at a relatively small checkin for the first set of changes that will detect if an FK property has changed and trigger corresponding fixup of navigation properties. The general idea is a sidecar that tracks the last known FK property value such that it can be compared in DetectChanges and used in fixup to remove old references and add new.
Initial support for LINQ method translation on relational. Enables full query suite on SQLite.
SQLite: Uncomment tests that were failing due to aspnet/DataCommon.SQLite#35
Code cleanup
Removed the idempotent SQL generation.
Moved SQL Server specific SQL generation out of the base MigrationOperationSqlGenerator
Renamed ModelDiffer DiffSource and DiffTarget to CreateSchema and DropSchema
Added code to handle transitive renames in ModelDiffer
Updated and added tests.
Performed some cleanup (simplified expressions, , removed unnecessary NotNull annotations - as suggested by Resharper)
Pickled onion munchies... (Additional functional test coverage for fixup)

This change expands the Monster Model so that it:
- Is defined in terms of interfaces with concrete implementations for:
  - Full notification entities (PropertyChanging and PropertyChanged implemented)
  - Entities that only notify for PropertyChanged
  - Normal entities that don't do notifications
- Has additional tests for fixup when FKs change

I did some work to enable the tests for SQLite, but this is currently disabled since Database.EnsureCreated is not working yet.
All your principal belong to me... (Additional fixup testing and support for reference stealing)

Additional unit tests for fixup code that runs when FKs are changed. Also added support for nulling the old dependent FKs and navigation from the old dependent to the principal for one to one relationships when the FK of another entity is set to point to the principal.
SQLite Migrations: Lift foreign key creation to CREATE TABLE statements