Add task health check and integrate with command executor.

Added task health check process that is launched with the command
executor if health check is configured.

It runs configured health check command and return the status to the
executor to report the task health. The executor also reports the task
health status back to the scheduler.

The task health process keeps internal state based on health check
configuration, and determine when the task it is checking for should
be killed. Currently it's based on the number of consecutive failures
it observed. Once the condition meets it sends a task health status
update with a kill task flag turned on, and the executor will kill the
task.

Review: https://reviews.apache.org/r/22579