TypedPipe.from(List).distinct fails

This is a PR to surface an issue, and I will work on the fix.

This was brought up on the mailing list -- TypedPipe.from(List("a","b","c")).distinct doesn't work, but TypedPipe.from(List("a","b","c")).distinctBy(identity) does.

Note: we may want to remove the 2 test cases that pass, since it's just more overhead. On the other hand, they do all share one cluster so the cost isn't TOO high and it does make the issue clear and prevent other regressions.
I think `mapValues(sg.sumOption(_).get)` should work here. The empty case does not come up: each key has at least one value.