Sidecars 7, Brazil 1... (Propagate generated principal values to FKs on SaveChanges)

Some primary/principal key values are generated in the store when the entity is saved--for example, for Identity columns. These values are written back into the state entry by the update pipeline. Foreign keys that reference these principal key values also need to be updated with the generated values so that the entire graph stays in sync and so that subsequent commands issued by the update pipeline make use of the newly generated values. Also, if the save transaction is not committed, then these generated values should be discarded.

Values written into the state manager by the update pipeline are placed in a temporary transparent sidecar so that they can be discarded later. When a change is detected (or notification is made) that a principal property has changed, then the state manager now finds dependents and updates FK values appropriately. These are also written into the transparent sidecar so that the update pipeline can read them like normal values for subsequent commands, but the values can still be discarded if SaveChanges fails.

Still working on some tests.
Handling null principal keys in the update pipeline and more robust key value comparison.
Disabling unstable ATS batch tests
Fixes/improvements to relational ordering translation.
Rename to EntityFramework.Design
Merge branch 'dev' of github.com:aspnet/EntityFramework into dev
Isolate end to end tests into separate tables
Reenable functional tests
Design: Add PowerShell infrastructure
Refactoring SqlGenerator and using OUTPUT clause for Sql Server
Code cleanup
Added MigrationTool class that implements the tool functionality. Code is using the existing Configuration implementation.
Added Program class that handles command line arguments and loading the config file. This is also needed by the K command framework.
Modified Migrator and MigrationScaffolder where needed.
Added unit tests.

TODOs: Add more logging, support --SourceMigration option, more testing.

See tool usage in resx for details
Adding full support for optimistic concurrency in the update pipeline
Fixes #399: Cannot update identity column with int primary key
Update nupkg patching logic
Passing IConfigurationSourceContainer to each method representing a command in CommandTool instead of having it as field.
Fixed a couple of small issues found while testing the tool.
Trivial client predicate elimination
Hide transient test failure
Re-enabling client predicate eval
Merge branch 'MigrationTool' into dev