fixes to include-related bugs - 925 and 926

Bug #925 - include fails for entities with composite keys
Root cause of the issue is that at one point during query generation we create join predicate expressions using Expression.And operator, but later in the pipeline we expect AndAlso operator.
Fix it to construct the initial expression using AndAlso operators.

Bug #926 - invalid sql generated when performing query with include
Root cause of the issue is that we build the comparison for join predicate incorrectly, swapping the column names.
Fix it to swap the names to the correct order.

CR: Andrew
Merge branch 'release' into dev
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.