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