Fixing compiler detection in test harness

The test harness was using the 'libtool --cxx' to detect the compiler.
However, this is not a valid option. We have to use
'libmesh-config --cxx' for this.

Closes #4321
Generalizing the execution routines

Introducing a general routine to run a binary from libmesh.
Merge pull request #4232 from andrsd/compiler-detection-fix

Fixing compiler detection in test harness
Merge commit 'b1fdbf45c6366209495126c5c46912e1fb917a95'