Made consistent the behavior of ShouldBeEquivalentTo on memberless objects
Merge pull request #116 from vossad01/Issue#22

Unexpected behavior from ShouldBeEquivalentTo edge cases
Fixed DateTime to DateTimeOffset conversions that are close to the edges. Should fix #120.
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
Another test showing a possible bug;  Recursive members are always checked
against Subjects's runtime type rather than the declared type