Initial add of foldl
Initial add of foldr
Initial add of foldl1
Initial add of foldr1
Initial add of BufferedFoldl
Initial add of BufferedFoldr
Initial add of BufferedFoldl1
Initial add of BufferedFoldr1
Removed BufferFold{l,r}1.

They were unstable with the use of a random buffer key to determined if
something had been added to the buffer.
foldl returns function handles for 1/2 inputs.

For one input, this returns a function that, with a prespecified
accumulator, combines the list using a provided initial value.
Specifying a second parameter presets the initial value.
foldr returns function handles for 1/2 inputs.

For one input, this returns a function that, with a prespecified
accumulator, combines the list using a provided initial value.
Specifying a second parameter presets the initial value.
foldl1 uses new foldl that takes variable inputs.
foldr1 uses new foldr that takes variable inputs.
Added comments to fold functions.
Merge branch 'feature/fold' into develop