Struct in Expression<> throws ArgumentException

Although C# doesn't allow a struct to have a parameterless constructor,
internally the CLR allows it, and I suspect that's why there is no error
when building an Expression when calling a non-existent parameterless
constructor for a struct.

The added coded protects against NullReferenceExceptions which occurred
when the Expression (MemberInitExpression and NewExpression) contained
such non-existent constructors.