Making the EntityType API more consitent:
 1. Adding missing methods
 2. Using the same parameters for all methods operating on a specific metadata type.
 3. Adding missing return CanBeNull annotations
 4. Ensuring the uniqueness of the metadata items
 5. Providing more helpfull exceptions
 6. Treating the primary key as a key in TryGetKey and related methods
Reacting to Roslyn changes
Initial Commit of EF Performance Microbenchmark applications. This commit is a direct copy of the performance applications from the performance repository to enable a clean transition of pending changes in the performance repo and clean rebases.  Future commits will address changes necessary for building applications depending directly on the EF source code.
flattening project structure since the test applications are now in the product repository
beginning transition of applications to project dependencies for entityframework
Fixup of CSPROJ files to intergrate into the EF7, reference the EF source code, and build from visual studio
Updated model used in QueryExecution tests no longer autogenerate keys for entities used in the pre-generated graph and integrated tests into product repo
Added infrastructure and metadata for DEV 14
Moving performance tests to performance folder
fixing build for performance applications
Fixup references
Renamed Project.json to Project.json2
Fixed project.json casing
Added basic logging to migrations.
Also re-factored the code in Migrator to match the behavior from EF6 by running each migration in a separate transaction, instead of running all in one transaction. The UpdateDatabase code path is also used to generate SQL, with a "simulate" flag set to true, in which case the sql statements are collected but not executed.
Updated a bunch of tests and added more Migrator tests.
Clean-up of a few .csproj files.