Add more documentation to TypedPipe

Sadly, some of TypedPipe had no scaladoc.
An equation (or four) is worth a thousand words:

```
p flatMap { _ => empty } = empty

// This equation is only true if you ignore ordering
p flatMap { a => f(a) ++ g(a) } = (p flatMap f) ++ (p flatMap g)

p flatMap { a => Seq(a) } = p

p flatMap f flatMap g = p flatMap { a => f(a) flatMap g }


```