The kangaroos are hopping... (Set FK values based on referenced principal on Add)

EF7 requires that all tracked entities have a unique primary key, even if it is temporary. Value generators are often used to obtain this primary key value. However, for identifying relationships (where the PK of an entity is also an FK and is completely or partially defined by the PK at the principal end of the relationship) the value used cannot be generated independently because it must match the principal PK. This change adds a value generator for FKs that uses navigation properties to find the principal and then takes the FK values from that principal. This makes it much easier to add a graph of entities without worrying about setting FK/PK values explicitly.

Note that it is necessary to find the principal in order to get the key for a dependent in an identifying relationship. This means that the principal must be added first so that it gets a valid key, or must at least have a valid key set with a direct reference from the dependent.
Migrations: Implement the PowerShell commands more (Addresses #207)

Notable changes:
- :sparkles: Tab expansion enabled for migration, context & project names
- Contexts can be resolved by simple type name
- `Use-EFContext` renamed to `Use-DbContext`
- `Update-Database -Script` functionality moved into new `Script-Migration` command
Enabling LINQ Join operator in relational.
Updating optimistic concurrency tests to use transactions.
Also fixing bugs found in the process.
Updates to filtering tree expression to match changes in relational query pipeline.
Merge pull request #442 from aspnet/atsquery

Ats filtering: simplify visitor and add unfolding capability
Adding query test
First working copy. Supports insert, update and delete but not query yet.
Various tests added - more to come.
Updating to allow pipelining of the various Redis commands based on stateEntries plus some cleanup.
Suppressing build warnings until a Profile44 version of StackExchange.Redis is available
Merge pull request #452 from aspnet/140721_RedisProvider_03

Suppressing build warnings until a Profile44 version of StackExchange.Redis is available
Enable provider-specific conventions by allowing override of ConventionModelBuilder
Configure provider-specific conventions with DataStoreSelector