plot-bamstats: Skip generation of empty GCD graphs
Adds tests for usage message for samtools and all subcommands

Parses usage output into sections and looks for usage, version, and commands sections
using regexes.

Dispatches a further usage test for each subcommand reported by `samtools`

Verifies that subcommand usage lines mention `samtools subcommand` where subcommand
is the name of the subcommand (this test is not run if the regex 'not.*implemented'
is found anywhere in the subcommand output -- it seems reasonable enough that not
yet implemented subcommands would not have usage messages)

N.B. this currently fails on 4 subcommands - these need fixing and these
tests should tell us when they are fixed.
Modifies test.pl so that it exits with non-zero status if any tests fail.
Fail when tests fail

Exit statuses are really 8-bit unsigned integers, so exit with 0/1
rather than the number of failures in case we have lots of tests, and
return a less unusual status from the usage display: 1 rather than 255.

Merge branch bugfix/test-pl-no-exit-code-on-fail of github.com/wtsi-hgi/samtools