Fix #940 - Corrected handling of nullable/non-nullable mixed type join equality expressions
Adding the missing RunIfConfigured attribute to some of the ATS functional test classes
Renormalize files
Allowing to reference a property by name when configuring a key, foreign key or index if it exists on the CLR type even if it hasn't been added to the entity type.
Change Contract.Assert to Debug.Assert
Rework of performance microbenchmark tests to run directly through xunit including disabling perf tests by
env variable or config file. Also adds the ability to specify the destination of the perf result files thorugh
PERFRUN_ResultsDirectory environmental variable
Fixing references in project.json, cleaning up namespaces,
and fixing coreclr issue with runtimeFlavor variable
CR feedback fixing more references and removing bad using statmenet
Fix #1036 - Uniquify table aliases when building Include queries
React to fallback changes
Stop using DbContextConfiguration directly in most tests and remove from Context

This is part of Issue #641 which is about cleaning up the use of DbContextConfiguration. DbContextConfiguration is intended to help resolve dynamic services--that is, services for which the actual type/instance of service to use depends on the current context configuration. However, it has gradually spread throughout the code as a general purpose service locator. This causes dependencies to be hidden and creates a lot of coupling to DbContextConfiguration throughout the code, so I am making a set of changes to help fix this.

The previous changes removed most dependencies in the code on DbContextConfiguration. This meant that the tests were now using it only as an easy way to get a service provider setup with everything needed for an in-scope configured context instance. This change makes this more explicit both in the product code and in the tests that use it by removing the Configuration property from the context and replacing it instead with a hidden property for the scoped service provider. This explicitly exposes the fully setup scoped service locator which is very useful for testing and for writing extensions to the context that may require arbitrary services.

Also cleaned up a few remaining places where DbContextConfiguration was being used directly as a service locator--notably for the MigrationScaffolder and MigrationAssembly.
Reverting this change since it seems to break diagnostics
Fixing capitalization of Asp.NetCore check
Refactoring the extension methods used by the conventions.
Adding tests for unusual entity types.
Removed relational model and replaced with metadata model where needed.
Updated related code and tests.
Added tests to validate that issues #1077 and #1078 are fixed.
1077: Migrations: identity: false not respected when creating tables.
1078: Migrations: nullable: false not respected when creating tables.