Implemented `distinct` operator

This PR implements `distinct`, as speficied by #38. 

Again, I haven't implemented the .NET methods taking an `IEqualityComparator` (see #374).