optimize Foldable and Foldable1 methods.

use uncurried methods for avoid allocate `Function1` objects.
override maximum/minimum friends for efficiency
reuse objects
add Cokleisli#endo