Added ActionExceptions when ShellActions fail.

This includes some tweaking to ActionException and the action testsuite.
The testsuite now uses a MockProcess object to supply dummy returncode
and wait() attributes.
Added a test for ShellAction failures.