functional: support multiple return values with memoize.

* specs/functional_spec.yaml (memoize): Specify behaviour when
passed a function with multiple return values.
* lib/std/functional.lua (memoize): Save return values from
wrapped function as a table, and unpack it when called again with
the same arguments.
* NEWS: Update.

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