Changes to logging subsystem:

Duplicate normal logging to /dev/console.  This to support serial logging from boot when console=/dev/ttys0 is set in the kernel boot options.
Add Error logging to all non-shell based operations without it.
Force verbose logging to local log file only.
Changes to improve logging of errors.  Normalization of shell commands on subprocess

Capture all system command output if an error has occurred.
Remove dependence on commands module.
Replace all appropriate calls to os.system() and os.popen to subprocess module.
Detect and back-port subprocess.check_call if missing in python 2.6 subprocess.
Re-implement Run() to use subprocess.check_call.
Add chk_err boolean flag to Run() to ignore logging the error if the error is possibly expected or non-interesting.
Replaced RunSafe with RunGetOutput()
Added RunSendStdin() to support shell command requiring data written to STDIN.