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.
Resolved a few TODOs in ModelDiffer and MigrationOperationSqlGenerator.
Removed the idempotent SQL generation.