Make Foldable's foldr1 and foldl1 defaults lazier

Fixes #9742. Previously, `foldr1` as applied to a list-like
structure would be strict in the spine, and `foldl1` would
be strict in the spine of a snoc-list.

See also

 https://www.haskell.org/pipermail/libraries/2014-October/024035.html

Differential Revision: https://phabricator.haskell.org/D423