Added new function `scannify`

The new function `scannify` converts a `Fold a b` into a `Fold a [b]` by collecting all intermediate results of the fold into a list. For instance, `scannify sum :: Num a => Fold a [a]` gives the list of successive partial sums of the input, etc. This can be inefficient when the finalizer step is not constant time, but is often very useful, as noted above. This is strictly more general than the `scan` combinator already provided in the library.