Query: Fix for #871 - Query should use provider-specific table names, column names, etc.

- Table/schema names were already handled by @ajcvickers
- Enabled correct column name handling
Testing around and some tweaks to EF DI/options infrastructure

Or: What's on the end of the stick ,Vic?

This is mostly testing making use of the new patterns for service provider and options injection, including:
- Multiple context types
- Multiple providers
- Constructor injection of OptionsContext
- Readining config (indrectly) from IConfiguration or inline

Also, added the ability to auto-configure a provider if it is the only provider regsitered, which also paves the way for auto-configuring from file-based configuration only.
Update AddEntityFramework to ensure low-level required services are available

Or: It's our collection and we'll look if we want to...

Issue #890

These services are normally setup by the app environment in an ASP vNext app, but are not setup when we create the service provider or the service provider is being setup in some other app environment. This changes makes sure that however the service provider is used, then these required services are available just like all other services required by EF to run correctly.