Adding information to the model about whether the bool metadata properties have been set to default values explicitly.
Use me! Use me!

Update stack to use new provider-specific APIs

And remove older APIs. This updates query, Migrations, and update pipeline to use the new annotations through the new APIs and to use provider-specific annotations, rather than just relational annotations. File issues for:
* SQLite provider-specific APIs and their use
* Clustered is SQL Server specific except in Migrations
* Use of SQL Server specific values for column names in query
* Cascade deletes are not supported in the stack
Query: Relational: Enabled Include for async queries.

- Added async include tests to SQLServer, SQLite
- Fixed some async call sites that were not flowing a cancellation token.
- Some further de-nesting of query component classes.
Query: Relational: Async: Make All/Any/Count non-blocking.
Autumn Cleaning - Cleanup in Database Error Page

Removing isDevMode since this concept is handled in Startup.cs.
Keeping UseDatabaseErrorPage behavior consistent with general ASP.NET UseErrorPage:
* Parameterless overload results in everything being shown.
* Adding DatabaseErrorPageOptions.ShowAll pattern to allow UseDatabaseErrorPage(DatabaseErrorPageOptions.ShowAll)

Updating UseDatabaseErrorPage to also register the Migrations Endpoint when it's going to be needed
Code to read DbContextOptions from configuration and to handle DbContext constructors with DbContextOptions arguments.
Added IConfiguration parameter to AddEntityFramework
Added UseSqlServer overload with no parameters.
Moved Property query extension to Query namespace. Fixes #783
Merge branch 'dev' of github.com:aspnet/EntityFramework into dev
Making Annotation API more consistent with the rest of Model API
Commands: Partially honor Startup.ConfigureServices
Query: Change Include operator to throw when not handled by provider.
Adding ConfigurationSource for annotations in InternalMetadataBuilder
Merge branch 'include' into dev
FBI? DEA? Nope, working for the ATF! Err. S.

Replacing Azure Table Storage provider-specific metadata methods with the new form of methods that use ForAzureTableStorage, etc.
Colder code - performance improvement of parameter checking helpers

This is a fix for bug #848. Parameter names will only be checked for NotEmpty if the value is not compliant to the check at hand. This may not be the expected behavior when the code was first written but I think it's reasonable given that:
  - It's perf-optimized for the positive case.
  - The required checks can still be in place in the hot path without causing perf interference.

All tests passing.
Query: DRY up the async include tests
Query: Throw not implemented for un-recognized include expressions
Merge pull request #903 from aspnet/Checker

Colder code - performance improvement of parameter checking helpers
Adding ConfigurationSource parameters for InternalIndexBuilder and InternalForeignKeyBuilder
Migration Fixes - Getting a ModelDiffer and usings in generated code
Tooling was using GetService<ModelDiffer> but that was broken now we have specialized ModelDiffers. We were also registering specialized Migrators but they were registered as Migrator in DI so you would get multiples if you registered two providers (and random behavior ensued). Swapping to have Migrator resolved thru DataStoreServices.

Also adding a missing using from generated model code.

Tested with automated tests and manually testing k ef migration commands