list: fix standalone loading of list module.

This fix reenables simple 'require "getopt"' without an additional
'require "std"'.
* src/list.lua (new): Add a forward declaration.
(sub, concat, rep, reverse, transpose, enpair, flatten, shape)
(indexKey, indexValue): Use new, rather than list.new.
* src/getopt.lua (processArgs): Call local 'getOpt' function. Global
getopt.getOpt may never exist!
list: fix standalone loading of string_ext module.

This fix reenables simple 'require "string_ext"' without an additional
'require "std"'.
* src/string_ext.lua: Load the list module, which is used in split().
Store APIs from `require "strbuf"`.
string_ext: fix a bad assumption in a spec example.

Running string.format in the expectation `should` uses the core
Lua string.format which doesn't prettify tables, but we're
comparing it to the string_ext `..` operator which uses the std
enhanced string.format, and that *does* prettify tables.
* specs/string_ext_spec.yaml (stringifies non-string arguments):
Manually expand the the stringified table in should to match the
std prettified table stringification.