Test executable tests without hpc
Add printRawCommandAndArgsAndEnv
Enable hpc with LocalBuildInfo flag
Enable program coverage for all components
Clean up after HPC tests properly
Useful error message for --enable-library-coverage
Overhaul HPC support

This fixes issue #1945 and replaces pull request #1947.

These bugs in #1947 are fixed:
* The pull request no longer applied cleanly to master because of the
  Binary LocalBuildInfo patches.
* The new test cases did not put the generated HPC interface files under
  "dist/", so the files weren't cleanup up correctly.
* HPC interface files for each component need to be separated, but the
  were being combined into the same directory.

These enhancements are also implemented:
* Program coverage is now used for all components when enabled and the
  flag --enable-library-coverage has been changed to --enable-coverage.
* A helpful error message is printed if the obsolete flag
  --enable-library-coverage is used.