formatters: handle 0 expectations gracefully.

* specs/specl_spec.yaml: Specify "No expectations" behaviour.
* specl/formatter/report.lua (footer): If expectations was never
called, then report will be nil; so guard report dereferencing to
avoid a crash.
* specl/formatter/progress.lua (footer): Likewise.
Also, change summary to say "No expectations met" when none were
given.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
matchers: diagnose passing expectations in pending examples.

* specs/specl_spec.yaml: Rearrange slightly to make room for a
new specification for unexpected passes in pending examples.
* README.md (Pending Examples): Document reporting of unexpected
passes with the built in formatters.
(Custom Formatters): Document changes to the expectations API
needed to support this.
* specl/colors.lua (colormap.warn, colormap.strong): New colors
for unexpected pass reporting.
* specl/formatter/progress.lua (expectations): Return unexpected
pass report strings, and display a `?` in the progress bar.
(footer): Report unexpected passes in the summaries.
* specl/formatter/report.lua (expectations, footer): Likewise,
except of course there is no progress bar with this formatter,
so display the unexpected pass report in the main output when
verbose is set.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
formatters: new TODO items for pending behaviour as pending specs.

* specs/specl_spec.yaml: New TODO items for pending behaviour as
pending specs.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
matchers: report pending argument for pending passes.

* specl/matchers.lua (M.pending): Accept and store an optional
argument.
(M.expect): Copy pending argument to expectations status table.
* specs/specl_spec.yaml: Remove pending call from newly passing
example.
* specl/formatters/progress.lua (expectations): If a value was
stored in the pending field, display it in the pending report.
* specl/formatters/report.lua (expectations): Likewise.

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