matchers: compare table key/value contents using contain matcher.

* src/specl.lua: When checking expectations against a table,
compare against each key and value in the table.
* specs/specl_spec.lua: Remove fake specs.
Specify behaviour of contain matcher.
* specl: Remove obsolete TODO entries.
* README.md: Document it.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
maint: store the version number in the interface table.

* src/specl.lua (M): Add _VERSION key.
* specl (prog): Use it in the --version output.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
specl: set _G._SPEC to allow modules to expose additional APIs.

When a non-public API is being specified, we need a way to inform
the module to give the specification access to it.
* specl (_G._SPEC): Set this to true.
* src/specl.lua (M): Put _expect into the module table if it is set.
(matchers.contain): Improve wording of error message.
* specs/specl_spec.lua (describe contain matcher): Add spec for
error message.
* src/specl.lua (matchers.match): Improve wording of error message.
* specs/specl_spec.lua (describe match matcher): Add spec for error
message.

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