Add more documentation to TypedPipe

Sadly, some of TypedPipe had no scaladoc.
for beginners it might be useful to explain the 'flatten' part of flatMap, eg that the input function returns a TravsersableOnce but the output is a flattened view of all those together, and also point out that this is powerful because it can be used to both map() or filter() or create multiple outputs for one input