cons: add nice stringification, with '.' notation.

* lib/zile/Cons.lua: Reorganise somewhat for better LDocs, and
overall readability.
(stringify): New function. Return a short string representation
of a cons list, eliding nested parentheses for cons lists, and
using '.' notation for non-cons cdr cells.
(metatable.__tostring): Wrap `stringify` results in parentheses
and return.
(metatable._type): Set this to "Cons" for all objects constructed
by this file.
(consp): New function. Recognise cons objects by value of the
metatable._type value.

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