Added code to set READ_COMMITTED_SNAPSHOT to ON for newly created databases.
Updated code in Migrator to update database using transactions.
Implemented the same mechanism as EF6 for suppressing transactions.
Updating release NuGet.config
Merge branch 'release' into dev
Updating dev NuGet.config
Learning to read... (Allow properties to be marked as read-only)

This is some more precursor work to the value generation changes. It allows properties to be marked as read-only in metadata, meaning that an exception is thrown if a change to one of these properties is detected and that marking the entity as modified does not mark these properties as modified. Key properties are forced to be read-only.
Fix for GitHub issue 632:
We now have a ModelBuilder and a BasicModelBuilder. The ModelBuilder has conventions which update the model but the model code generator uses BasicModelBuilder and does not generate anything for ValueGenerationOnSave and ValueGenerationOnAdd. When the snapshot is created these will have default values instead of the correct values. The fix generates code for the property value generation settings.
Use ContextTypeAttribute during migration discovery
Merge branch 'release' into dev
I really hope all this negativity is short lived... (Update value generators to be able to mark generated values as temporary)

This change allows value generators to mark generated values as temporary, which in turn will allow the update pipeline to make a decision as to whether a store-generated value is expected.
Removed the ContextType property from IMigrationMetadata. The association between a Migration class and a context type relies solely on the ContexTypeAttribute. Also passed the context type as parameter to methods that generate migration code and use it.
All I want for Christmas is an Exception (removing wrapping on DataStore exceptions)
Moving to structured logging to capture context information when an exception occurs during query/save
Also updating migration information to match current command format
Line Break == Build Break
Adjusting line break in generated code to avoid potentially offensive string fragment
Issue 653 - added support for DateTimeOffset properties in Redis.
Also added tests for all built-in data types for all providers except
Azure - which needs special treatment (PartitionKeys etc).
As noted several of the data types are not yet supported on all providers
- so these have been moved to a Supplemental set of tests which are
  implemented only on the providers that support them. As SQL Server and
  SQLite start supporting these we should move those data types into the
  BuiltInDataTypes* classes and remove them from the Supplemental
  ones.
Two into one does go... (Update value generation per design meeting decisions)

This is the main part of the work to update value generation per design meeting discussions. The two enums are replaced by one leaving it up to the provider to decide on the actual strategy to use. The update pipeline uses the temporary value flag through an abstraction in the state entry in order to determine whether or not a store value is needed.

Things still to do here:
- Allow explicit values to be set such that the value generator will not kick in at all
- Allow specification of provider-specific strategies through provider-specific APIs and annotations
- Fluent API for high-level abstractions
- Migrations updates to handle sequences, which will then allow sequences to become the default strategy for SQL Server
- Some more work to fully enable general database defaults
Enables single-level Include operator for in-memory.
Merge branch 'inc-latest' into dev
Adding WithCurrentCulture extension method

Part of #374
Enhanced unit tests for code generators to compile the generated code, load, instantiate, execute, and re-generate from compiled result.
Fixed a few issues discovered while running the enhanced tests.
Changing ConfigureAwait(false) to WithCurrentCulture()

Part of #374