Made EnumerableEquivalencyStep aware of the generic IEnumerable interface and preserve the type information when that interface is implemented
Another test showing a possible bug;  Recursive members are always checked
against Subjects's runtime type rather than the declared type
Added specs showing more bugs related to not respecting the declared type
Fix tests by respecting compile time type