debug: support "container of homogenous_thing" in argcheck.

* specs/debug_spec.yaml (argcheck): Specify behaviours when
checking for combinations of "List of table" variations.
* lib/std/base.lua (formaterror): Add optional index parameter,
and diagnose errors that use it with new "type at index N"
format; otherwise, simplify "List of table" strings in
expectedtypes to just "List" when the error is in the outer
type matching.
(checktype): Abstracted out of `argcheck`.
(argcheck): Simplify accordingly.
Detect and diagnose element mismatches with "List of table"
expected types.
(export): Likewise.
(typeof): Factored out entirely.

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