formatters: redisplay failed test reports in output footer.

* README.md (Custom Formatters): Document accumulator feature of
new custom formatter API.
* specl/formatter/report.lua (map, strip1st): New functions,
copied from tap.lua.
(expectations): Return a separate but unindented concatenated
string of all failure reports.
(footer): Summarize failure reports.
* specl/specl.lua (accumulator): New function to accumulate a
string from pieces.
(run_contexts, run_examples): Pass returned strings from formatter
API calls to accumulator.
(run): Initialise the formatter accumulated string, and then pass
the result to formatter.footer.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
refactor: move common formatter helpers into specl.util module.

* specl/util.lua (map, strip1st, indent, nop): New file.
* specl/formatter/progress.lua, specl/formatter/report.lua,
specl/formatter/tap.lua: Import those functions from specl.util
and remove local copies.
* specl/formatter/progress.lua (expectations, footer): Display
a failed expectation summary in the footer output.

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