lib/test-bitmap: Properly start and set colors for tests

It's pretty and makes output consistent, so let's do it.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/t-utils: Add t_reset()

It makes sense to reset test scores here and there, so let's make
it easy to do that.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/test-dkhash: Reset test results between tests

Otherwise output appears to be lying, which is kinda bad.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/runcmd: Detect backticked subcommands inside double quotes

Shell substitutes it, so we must detect it.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/runcmd: Detect $() type subcommands as well as backtick ones

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/runcmd: Detect shell variables

We can't really interpolate them properly, so it's an error if we
find any.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/runcmd: Detect closing parentheses as CMD_HAS_PAREN too

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/test-runcmd: Make test-failures cause "build" failures

This makes these tests infinitely more useful from buildbots and
whatnot.

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/test-runcmd: Add anomaly detection tests

These are the tests responsible for the earlier flurry of commits.
Since they've already proven useful, we keep them around in an
easily runnable state.

While at it, rename "runcmd test" to "exec output comparison".

Signed-off-by: Andreas Ericsson <ae@op5.se>
lib/test-runcmd: Add argument-splitting tests

This is just an embryo (or zygote, even) of a real testsuite for
argument splitting, but since tests tend to get written when
there's a comfortable framework to put them in, I expect more
will come in case bugs are found in this area.

Signed-off-by: Andreas Ericsson <ae@op5.se>