TheOptionThatTimeForgot
Fix for issue #2551
Fixes EF designer test failures

The failure was introduced by changeset 6f4a59148c5c.
Merge branch 'master' of https://git01.codeplex.com/forks/ErikEJ/TheOptionThatTimeForgot into ErikEJ/TheOptionThatTimeForgot
Adding support for specifying the Microsoft.SqlServer.Types assembly to be used.
CodePlex2553: AlterColumn with defaultValueSql generates wrong SQL Add Constraint.
Updated code in SQL generator to generate the ADD CONSTRAINT after ALTER COLUMN.
CodePlex2536: MetadataWorkspace does not materialize specializations of ConditionPropertyMapping.
Made ConditionPropertyMapping abstract and updated code to instantiate the derived classes as needed.
Handle embedded expression references.

Adds ability to execute expression factories or reference expression member/properties when embedded into a ELinq expression.
Adds handling of closure member access by executing access and using result as a constant expression.
Remove use of DynamicInvoke where unnecessary, add 4 negative tests.
Implications of fix for CodePlex2536: MetadataWorkspace does not materialize specializations of ConditionPropertyMapping
Making ConditionPropertyMapping abstract broke EFTools which has code that instantiates that class. Updated EFTools code to used derived class instead.
Also changed the base class to non-abstract, because making it abstract can be considered a breaking change.
CodePlex2499: Unable to create EntityType with a BaseType
Added overload of Create that takes a baseType argument. Replaced Debug.Asserts with exceptions when checking the base type.
CodePlex2513: .Take(0) on queries against sql server 2012/14 works in EF611 but fails in EF612beta.
A relatively recent pull request added support for FETCH which is now used instead of ROW_NUMBER when generating SQL for limit expressions. SqlServer requires that the number of rows provided for a FETCH clause must be greater than zero. Updated the code that translates the Take method to create a filter expression with a false predicate instead of a limit expression when the take count is zero.
EFTools: Fallback to config when looking for EF6 providers

Work Item: 2506