Add failing test for class that is IEnumerable<self>
Addresses issue where (!(expected is actual.GetType()))

- In fact, it is a bit looser. It just demands that
  expected is a subtype of T.

- Addresses #65
Error messages for !(expected type is actual type)

- Pertains to #65
new List<int>{1,2}.ShouldBe(new []{1,2}) passes.

- This pertains to issue #65
Tabs to spaces.
Reinstate DebuggerStepThrough attibute.
Tabs to spaces.
Add breaking changes for this PR.
Merge pull request #66 from samsalisbury/implicit-cast-to-self-enumeration

Always fail when !(actual is expected.GetType()) (Except for IEnumerables)