Better error handling in the TestHarness 

closes #3329

Missing required parameters will now cause the TestHarness to exit with a non-zero error code.
Why Hex?