Went back to seperate GenericEnumerableEquivalencyStep and EnumerableEquivalencyStep classes.  Simply easier to reason about this way.
Moved specs that really made use of ShouldAllBeEquivalentTo behavior to thier 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
Revert "Merge pull request #132 from dennisdoomen/119_PclDetection"

This reverts commit 0a5703019aa66e3c8c638f342870a2505c7c028b, reversing
changes made to 984adfd5b5290a529932a16ac67a3ab61afaf785.

Conflicts:
	FluentAssertions.Core/Core.csproj
	FluentAssertions.Net45/Net45.csproj
	FluentAssertions.WP8/WP8.csproj
	FluentAssertions.WinRT/WinRT81.csproj
	FluentAssertions.WinRT80/WinRT80.csproj
Specs for another case where delared type is not respected
ShouldBeEquivalent to now respects the Runtime/Declared type configuration options when deciding whether to handle the object as an Enumerable.