Moved specs that really made use of ShouldAllBeEquivalentTo behavior to their own region.
Removed unnecessary use of an anonmyous type in a test.
Added a ShouldAllBeEquivalentTo spec for assertion rules.
Rewrote ShouldAllBeEquivalentTo in terms of ShouldBeEquivalentTo
Changed ApplyAssertionRulesEquivalencyStep to a more general AggregateEquivalencyStep