Added another constructor so we can pass only the hash lambda if we want to.
Added extension method Distinct() using hash lambda, and a test for it.