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.