Test added for correct null handling in Equals() and GetHashCode().
Generated GetHashCode() function improved, so that it uses primes as constants and checks for null values.
The majority of the EqualityFunctionGenerator uses now MemberInfo instead of FieldInfo.
The EqualityFunctionGenerator is now configurable, so that the client can specify which members to include in the equality comparison.
The value based equatable wraps TValue in a tuple to prevent the MemberwiseEqualityComparer from diving into primitives.
Dictionaries are now also supported.
Embedded value types are now converted to object before calling GetHashCode(). This was failing with "method not found" before.
Obsolete TODO removed.
Static type check added, which ensures that TSelf is a subclass of MemberwiseEquatable<TSelf>.
Class contraint on MemberwiseEquatable removed.
The MemberwiseEqualityComparer checks comparands for nullness now.
EquatableSequenceWrapper restored for seamless migration.
Readme updated with migration info.