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`.