Command line wrapper for BWA

This is a squashed commit based on Saket's pull request,
rebased after making similar enhancements to the __call__
method of the base class for stdout/stderr as filenames.
Include BWA in doctests (currently broken)
Style changes, removing redundant help test (doctests still break)
Fixed BWA doctests

We can't assume the binary is present, and even if it was the example
paths must also exist, and output files would need to be deleted.
Therefore we don't run the binaries in the doctests, but just do a
print to show the command the would execute.