Use SQL CROSS JOIN instead of old style joins
Adding functional test projects for provider-agnostic tests
Using project references instead of source linking
Making the optimistic concurrency tests provider-agnostic
SQLite: Add Migrations services
Migrations: Add PowerShell commands
Hiding transient failure
React to aspnet/KRuntime#429

The location of the packages directory has changed.
Update package location logic
Add support for ETag on ATS.
Add more testing.
Throws concurrency error message when ETag in client data is set and does not match the server.
Reverted to MigrationId (Timestamp_Name) instead of separate fields/columns.
Add optimistic concurrency tests to ATS provider.
Bug fixes:
RowKey and PartitionKey must use string comparison in queryString.
QueryableConstant expression did not match type when comparing to Nullable objects.
Improve error handling.
Fix bug in optimistic concurrency tests.
Merge branch 'atsconcurrency' into dev
Design: Update ApiConsistencyTest to test to the right assembly
KProj updates. Add ATS.
Adding an abstraction for transactions
Fix for ATS tests
Merge branch 'natemcmaster/dev' into dev
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.