functional: fold supports multi-return iterators.

* specs/functional_spec.yaml (fold): Specify behaviour with
iterators that return multiple values.
* lib/std/functional.lua (fold): Collect all values returned by
iterator and operate on the last one of those.
* specs/container_spec.yaml (construction): Fold dereferences
automatically, no need to manually dereference any more.
* NEWS: Update.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>