Excluded indexer properties from StructuralEqualityEquivalencyStep.  They are more like methods because they take a parameter, and we would not know what parameter values to pass.
Extracted EquivalencySpecs for collections to their own type because they seem to be a special case.
Added spec for comparing a non-collection to a collection
Hopefully made a little clearer that assertion rules only apply to members and not the root subject itself.
Added a StringEqualityEquivalencyStep to fix a bug leading to a poor failure message when using a string as the root object with ShouldBeEquivalentTo
Removed the use of collection equivialency in date time property equivalence specs.  There, it was unrelated to the behavior under test.
Removed assignment of a collection member from an equivalence spec because it was tangential to the behavior under test.  Added new spec to also test beahvior of having a collection to CollectionEquivalencySpecs
Merge pull request #131 from vossad01/Issue130

Excluded indexer properties from StructuralEqualityEquivalencyStep.
Merge pull request #129 from vossad01/Issue22/FixStringBugAndCleanup

Cleanup of some EquivalencySpecs and fix bug with ShouldBeEquivalentTo() called on string
Added ignore for tempoary files generated with Roslyn CTP is installed
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
Spec for another case where delared type is not respsected.  Need to look closely at whether fixing this would be be consistent or not.