Always fail when !(expected is actual.GetType())

This pull request resolves issue #65 by removing the generic type parameter from ShouldBe and performing a type check before checking the values. This solves the issue where a type has an implicit cast to a type that is an IEnumerable of itself, as discussed in issue #65, and this StackOverflow question: http://stackoverflow.com/questions/19998878/shouldly-and-json-net-this-passes-jtoken-parse-shouldbehello