Added `Signal.collect`

Similar to how `sum` and `product` abstract simple fold usage, `collect` abstracts the process of saving all values of a certain Signal through `foldp`.