Provides a Distinct method that takes a key selector lambda as parameter.
The .net framework only provides a Distinct method that takes an instance of an implementation of IEqualityComparer where the standard parameterless Distinct that uses the default equality comparer doesn't suffice.