functional: map supports key:value remapping functions.

* specs/functional_spec.yaml (map): Specify behaviour of passing
all iteration return values to mapping function; and remapping
when mapping function returns a key:value pair.
* lib/std/functional.lua (map): Collect all iteration return
values and propagate them to the mapping callback function.
If there are two values returned from the callback, treat them as
a key and value for setting in the results table.
* NEWS: Update.

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