Added UniqueMemberInitTypeVisitor.

Used when translating an expression into its data source equivalent to
guarantee that MemberInitExpressions instantiate a unique derived type
to prevent Entity Framework from throwing an exception due to the
presence of incompatible MemberInitExpressions.