Fixed scan
- scan (aka scanl in Data.List) didn't obey 'last (scanl f z xs) == foldl f z xs' law.
Added scan1 to Process
Refactored fold
Added fold1 to Process