Implemented enhancement to skipRepeats.

As a response to issue #1567. I've implemented both the hot and cold versions.
Unfortunately this is not possible. It looks like Swift needs to resolve to a known type, not the generic U type. I'm not sure why the closure form works, however. One of Swift's rough edges. The syntax `signal.skipRepeats(==)` works when the exact type is known.