extra noise in the final exception output.
This change stops catching and rethrowing the same exception, and generally
makes the RunCommand slightly more readable (if longer).
Some unit tests are added, but they only test RunCommand, and not all options
to RunCommand.
BUG=chromium-os:11717
TEST=Manual, and new lib/cros_build_lib_unittest
Review URL: http://codereview.chromium.org/6576016
Change-Id: Ibe9b13ff302621e93196008f86914cb65a232d61