Fix for Issue 845 - InMemory EnsureCreated() should return true for the
first call to create a database and false thereafter.
Error with the Error Page, "How Meta" - Enable error page for non-collection queries
Exceptions from queries that return a single entity or a scalar value were not triggering the error page as they do not go through MoveNext in our wrapping Enumerable. Adding logging to handle these cases (and applicable unit tests).
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.
Updated ModelDiffer to handle implicit column type changes when columns are added/removed from keys.
If a column type is not explicitly specified, the SqlServerTypeMapper maps string to varchar(128) or varchar(max) depending on whether the column is used in a key (primary key, unique constraint, foreign key). Adding/removing a property to/from a key caused an implicit column type change that was not detected by the differ.
The fix makes DatabaseBuilder dependent to RelationalTypeMapper, which is used in ModelDiffer to detect potential implicit column type changes in order to generate alter column operations.