refactor: simplify use of export by looking up local functions.

Prior to this changeset, export worked by creating an argument
checking wrapper function when called with an inner function, a
destination table containing metadata and the argument spec
string.  The metadata leaked out into the library interface, as
well as other assorted clunkiness. Clean up and simplify the
whole thing.
* specs/spec_helper.lua (badarg): Adjust to produce consolidated
error messages.
* specs/functional_spec.yaml, specs/list_spec.yaml,
specs/std_spec.yaml: Remove element `1` from expected entries in
export table, now that metadata isn't leaked.
* specs/base_spec.yaml (DEPRECATED, export): Remove argument
checking specifications.
* lib/std/base.lua (getinfo): New functions. Use `debug.getinfo`
to lookup a local function in the given scope given only its
name.
(whatpath): Cross reference the package.path and function source
file from `debug.getinfo` to reverse engineer the module path
passed to require that was used to load this function.
(export): Remove all vestiges of hard-coded module metadata from
the destination table, and passing of an inner function; instead
look everything up using introspection and the new functions
above.  Don't stash the result in a table parameter, return it.
Adjust all callers.
(copy, render, split): Move from here...
* lib/std/base/string.lua (copy, render, split): New file.  ...to
here, so that base.whatpath reports the correct module path.
* local.mk (dist_luastdbase_DATA): Add lib/std/base/string.lua.
* lib/std/container.lua, lib/std/debug.lua,
lib/std/functional.lua, lib/std/io.lua, lib/std/list.lua,
lib/std/math.lua, lib/std/package.lua, lib/std/string.lua,
lib/std/table.lua (M): Remove metadata, rebuild after exported
functions' local declarations.
* NEWS: Update.

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