matchers: work properly with _not_ expectations.

* src/specl.lua (q): New function to quote strings in failure
messages nicely.
(matchers): Always return the failure status message, even if
the matcher succeeded, since it may be inverted later with a 'not'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
matchers: make the error matcher useable.

* src/specl.lua (matchers.error): Take arguments in reverse, so
that 'should_error' is called like pcall, and 'expect' is a
substring to match against any resulting error message.
(report.expectation): Since error messages can be very long,
reindent multiple lines as best as possible.

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