Extending the internal builders lifetime to match the lifetime of the ModelBuilder so that they can be used to store state.
Fixed build break caused by weird-ness with the mock library.
FixupSpeedup episode one - the slowdown menace

Entity fixup is still costly but this changeset is making it 10x faster by getting some low hanging fruit:
  - Reduction of allocations by changing .ToArray() by .ToList() when the collection is temporary.
  - Caching of values that are used constantly.
  - Accessing the same property repeatedly inside loops avoided.

The caching will probably have to be revisited in a future iteration. Here are some of the numbers I obtained:

RelationshipFixup before the change
1153252ms total (100 iterations)
17920ms 95th percentile
20988ms 99th percentile
20988ms 99.9th percentile

RelationshipFixup after the change
138670ms total (100 iterations)
1652ms 95th percentile
1944ms 99th percentile
1944ms 99.9th percentile

The closest EF6 test we have is objectctx-fixup-fk-poco
13339ms total (100 iterations)
171.74ms 95th percentile
287.71ms 99th percentile
287.71ms 99.9th percentile
Another test failure that sneaked in.
Fixing a test failure not caught before.
I traveled to Maui and Taupo researching how to test a UI - Tests for Microsoft.AspNet.Diagnostics.Entity

Padded out functional testing and added some unit tests. Also re-enabling DatabaseErrorPage tests that were recently disabled.

Also made various minor improvements to the product code:
 * Added logging
 * DatabaseErrorPage now logs errors and skips if an error/exception prevents it from displaying
 * Removed DevModeOnly setting from MigrationsEndPointOptions since different environments will be handled natively in Startup.cs (still using isDevMode to set everything visible on error page but will likely remove this #733)
 * Better error handling in MigrationsEndPointMiddleware (discussed with ASP.NET folks when to throw and when to set 4xx status codes)
 * On DatabaseErrorPage, swapped ShowMigrationStatus option to ListMigrations. ShowMigrationStatus was a left over from early work where we displayed a lot of info on the page, now that's pretty much all we show. ListMigrations would be useful if you wanted to use the error page but not display any type names etc. from your code.
Factories in a service economy...

Make CollectionTypeFactoru a service

This is just something I missed in the original checkin.
4SqlServer()

Initial work on provider-specific Code First and core metadata extensions.

This is the initial work for relational and SQL Server extensions. It doesn't yet replace what we currently have--that code still exists as well. Write-only extensions can be used for the fluent APIs together with read/write extensions for mutable metadata and read-only extensions for metadata interfaces.

The following things still need to be done:
- Extensions that are specific to SQL Server and not just overrides of the relational extensions  (Clustered, UseSequence, UseIdentity)
- Extensions for ATS
- The relational model builder
- DefaultValue is not implemented because it really needs non-string annotations.

There are a lot of files here but there is not much actual code and it is all simple stuff.
Fix for Issue 715: Scope DataStoreConnection extension methods to require AsAtsConnection() first
Implementing the AsyncQuery method and the async value generation code.
Enabled the NorthwindAsyncTests and updated the tests for value generation.
Combined various methods in RedisDatabase and RedisQueryContext etc to
return object[]'s and put materialization/projection into
QueryMethodProviders.
Cleaning up Redis SimplePoco tests
Added support for sequences to migrations.
Added the following migration operations: MoveSequence, RenameSequence, AlterSequence.
Added unit tests.
NuGet Commands: Support win81, wpa81 & portable projects
removed fakes from perf test project
Temporarily disabling 4 tests that fail.