Comparing unrelated types with equals

Ported from scapegoat. Will warn if comparing unrelated types with equals (which will always return false according to contract)
I'm wondering if this is a good idea. I think there will be too many false positives: Most sequences implement `equals` to be contents-based, so you could have `Seq(1, 2) == Vector(1, 2)` returning true. Maybe instead of `==` we should check for instance equality (`eq`)?