KUDU-3504 Crash master on subprocess death

In the past, there were several instances when the Ranger subprocess
crashed.  In these cases, the master happily went on, but failed to
authorize requests. Since there's no way to restart the subprocess
without restarting the master anyway, it's better to crash the master as
well to make sure the failure of the subprocess is detected in time and
can be addressed.

As there are multiple concurrent calls to Subprocess::DoWait() now, this
commit also changes some member variables to atomic to make sure it's
thread-safe as TSAN complained about a data race.

Change-Id: Iec516f3d684f152bd29874b60b810c526ee5a184
Reviewed-on: http://gerrit.cloudera.org:8080/20365
Tested-by: Kudu Jenkins
Reviewed-by: Marton Greber <greber.mx@gmail.com>
Reviewed-by: Alexey Serbin <alexey@apache.org>
6 files changed