Make sure cli CommandFailed prints out stdout and stderr

Having a CommandFailed exception without stdout is very confusing, lets
fix that.

subprocess.CalledProcessError doesn't print out stderr or stdout so use
our own error that does.

Change-Id: I3bf75d6f526bdc58e64bbc7d83911e9d63e4b801
10 files changed