debug: improve argcheck list semantics.

Following the principle of least surprise, make a new `#list`
check type that has the same behaviour as `list` did previously,
for orthogonality with `#table`, and add a new `list`
implementation for orthogonality with `table`.
* specs/debug_spec.yaml (argcheck): Specify behaviours of `list`
and `#list` with new semantics.
* lib/std/debug.lua (argcheck): Update LDocs.
* lib/std/base.lua (argcheck): Count the elements of a `list`
and ensure that number is not greater than the result of the
length operator -- i.e. the table has no holes, and no non-
integer keys.
When building a type-mismatch error, write `empty list` where
appropriate.
* lib/std/debug.lua (argcheck): Make the 2nd argument a `#list`.

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