Include pull request feedback, add interface and call generate using dynamic
Adding ExecutionStrategy support to query execution.
This includes both tracking, non-tracking and raw SQL queries for ObjectContext and DbContext.
Code First: Adds API surface for configuration of many-to-many association modification functions.

- Adds MapToFunctions overloads to ManyToManyNavigationPropertyConfiguration.
- Refactored by-convention function metadata generation so that it happens on the configuration code path. This makes things architecturally more consistent because function mapping is initiated via configuration.
EdmSchemaErrorForEveryone - allowing creating EdmSchemaErrors publicly

EdmSchemaError is used internally by the designer when reverse engineering
database and therefore the type needs to be publicly constructible.
TheTruthTheWholeTruthAndNothingButTheTruth

Properties on EdmProperty that correspond to facets used to return null values if the facet was constant. It was handy for CodeFirst
but did not work that well for the designer where we would have to dig into Facet to get the value. It also felt wrong that the
convenience methods returned a different value from the value that would have been returned by the underlying facet. The change
is to always return actual value (be it const or the one that was set) and add properties that can be used to tell if the facet is constant.
Adding ExecutionStrategy support to DbMigrator.
Adding ExecutionStrategy support to ObjectContext.ExecuteStoreCommand.
Additional updates to the Migrations Extensibility contribution
Work Item: 22

* Renaming IAddMigrationOperation to IDbMigration
* Updating SqlServerMigrationSqlGenerator to throw by default when an unknown MigrationOperation is encountered
* Additional tests
Merge branch 'migext'

Conflicts:
	src/EntityFramework/Properties/Resources.cs
	src/EntityFramework/Properties/Resources.resx
Code First: Sproc mapping changes resulting from design meeting
NonOffshoreFactories - adding factory methods to EntityType and MetadataProperty

Enabling creating EntityType and MetadataProperty objects publicly by using factory methods.
Fixing a bug in MetdataCollection where we would fail with a NRE if there was a null item in the collection
Code First: Adds schema configuration to modification function mapping APIs

- Same pattern as ToTable APIs.
Adding ExecutionStrategy support to ObjectContext.ExecuteFunction
Adding ExecutionStrategy support to ObjectContext.Refresh
Turning off transactions for queries to increase performance.
RoomWithAView (Separate view assembly discovery from o-space type discovery)

Discovery of assemblies that contain pre-compiled views was previously performed as part of scanning assemblies for o-space types. This is a problem if we want to use Code First CLR type data for o-space mapping because we then don't want to scan assemblies for o-space types but we do still need to find assemblies that contain pre-compiled views.

This change separates out the assembly scanning for view generation and makes it a separate service. The service is still invoked from the same code paths that previously found pre-compiled views so backwards compatibility should be maintained. The default service implementation can also now be changed so that if an app has a well-known list of assemblies that contain views then this can be provided to EF without the need for any assembly scanning.

Note that the ViewAssemblyCache is not about caching the views themselves, but rather about caching the assemblies known to contain views.
Fix for OUTER APPLY regression with .NET 4.5
Code First: Adds IA FK configuration fluent APIs for sproc mapping.

- Allows IA FKs to be addressed via nav props from the dependent using Parameter (i.e. Same as complex property addressing).
- Adds Association<T> to allow addressing IA FKs when from a nav prop on the principal side.

* Non-composite shortcut methods still to come.
ElevenApplesUpOnTop (Prevent stack overflow from recursive DbConfiguration discovery)

EnsureLoadedForContext is called from various places as soon as a context type is known to ensure that the correct DbConfiguration is found. However, sometimes the derived DbConfiguration itself can make use of a context type (such as when the Migrations initializer is used) in which case this would cause recursive calls into EnsureLoadedForContext resulting in stack overflow.

The solution is to make EnsureLoadedForContext not actually create the DbConfiguration instance but rather just save the type. The instance is then only create the first time that the configuration is used.
Issue 465 - allow user to pass own transaction in for use inside the
EntityConnection. Also adding BeginTransaction() API and throwing
InvalidOperationExceptions where needed. Plus added tests.