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. This can be inefficient when the finalizer step is not constant time, but is often very useful. For instance, `scannify sum :: Num a => Fold a [a]` gives the list of successive partial sums of the input, etc.