Adds test for usage messages for bcftools and all subcommands

Parses usage output into sections and looks for usage, version, and commands sections
with somewhat loose regexes (biggest assumption is that section headings are the only
non-whitespace at the beginning of lines, which is currently true)

Dispatches a test for every subcommand found in the raw `bcftools` output

Verifies that the "Usage:" line mentions the name of the program [+subcommand] being run

N.B. this test is currently failing due to a typo in the usage line for `bcftools index` -- bugfix pull request to follow for that.