Make hadut.run_cmd and related fns throw a more informative exception

The previous mechanism doesn't provide a way to see the command's return
code.  This commit should be backwards compatible but add the additional
information.