Refactored subprocess to support more IO redirect modes.

Review: https://reviews.apache.org/r/22688
Updated mesos to use the new Subprocess API.

Review: https://reviews.apache.org/r/22702
Allowed launching subprocesses with flags.

Review: https://reviews.apache.org/r/22749
Updated mesos to use the new Subprocess interface with flags.

Review: https://reviews.apache.org/r/22751
Added logging for ip resolution errors in libprocess.

Review: https://reviews.apache.org/r/22687
Added process delegate for accessing the scheduler endpoint.

Review: https://reviews.apache.org/r/22703/
Refactored os::user to return a Result.

Review: https://reviews.apache.org/r/22722/
Updated mesos to use refactored os::user call.

Review: https://reviews.apache.org/r/22722/
Updated reviewbot to only build and test once.
Added a SIGUSR1 handler to cleanly shut down the slave.

Review: https://reviews.apache.org/r/21379/
Added a SIGUSR1 shutdown test.

Review: https://reviews.apache.org/r/22737
Initial import for health check
Fixed Protobuf to JSON serialization of optional fields with default values.

Previously, only optional fields which where explicitly set would be serialized regardless whether default values was present.
This patch adds those fields explicitly.

Review: https://reviews.apache.org/r/21246
Cleaned up JSON work
Snapshot of current health check program.
Add task health check with custom command support
Address ben review comments