Scan1 semigroup

This PR renames `foldSemigroup` to `fold1Semigroup` and `scanSemigroup` to `scan1Semigroup`. Like all other processes that are called `fold1...` and `scan1...` these processes never emit or use a zero when the input is empty (which by definition is impossible because they only have a `Semigroup` at hand).
It also replaces `id[A].map` with `lift` in a few places and reorders some processes alphabetically.