Remove Heartbeat-Before check from heartbeat

Ironic does not send this header - agent should not look for it.

Change-Id: I7b8857fa5f744bc03ee0907424a95b9305811c51
(cherry picked from commit c5e8670b230d43e4d8216dd9116ba2b66efea5d3)
Use processutils properly

Previously this code was calling processutils.execute incorrectly,
expecting it to return the exit code. This change:

* fixes calls to processutils.execute
* fixes related tests
* changes exceptions triggered by shell command failure to
  subclass processutils.ProcessExecutionError, to properly capture
  commands, stdout, stderr, etc. from processutils.execute().

Change-Id: I3343f104a5a8200d53bd87a8799ff918e375b17f
(cherry picked from commit 0e4acce6cb9ec9edd62b3a19a60a951fc0509849)