Added document for network monitoring.

Review: https://reviews.apache.org/r/24719
Make sure the mesos-fetcher exits if the slave terminates.

Review: https://reviews.apache.org/r/24722
Introduced "states" for Docker containers to transition between.

The DockerContainerier needs to be able to properly clean up Docker
containers, regardless of when they are destroyed. For example, if a
container gets destroyed while we are fetching, we need to not keep
running the fetch, nor should we try and start the Docker
container. For this reason, we've split out the states into:

  FETCHING
  PULLING
  RUNNING
  DESTROYING

In particular, we made 'PULLING' be it's own state so that we could
easily destroy and cleanup when a user initiated pulling a really big
image but we timeout due to the executor registration timeout. Since
we curently have no way to discard a Docker::run, we needed to
explicitely do the pull (which is the part that takes the longest) so
that we can assume we won't have to wait very long for Docker::run to
complete.

Review: https://reviews.apache.org/r/24754
Improved safety of "higher-level" io::read/write.

These functions tend to read and write "everything" and are often used
with things like Subprocess. A common pattern is that someone will
read from Subprocess::err/out but not hold on to the Subprocess
instance which will cause the underlying file descriptors in
Subprocess to get closed before the io::read/write has completed. To
make this safer, we do what we did with io::redirect and automatically
duplicate the file descriptor.

This was also a good opportunity to remove io::splice from the public
interface since it's not being used and is inherently dangerous.

Review: https://reviews.apache.org/r/24755
Cleaned up usage of io::read for new semantics.

Review: https://reviews.apache.org/r/24757
Allow override without CommandInfo::value to run in command executor.

Review: https://reviews.apache.org/r/24730
Allow external isolator flag to be backward compatible.

Review: https://reviews.apache.org/r/24731
Added TODO for os::killtree.
Revert "Make sure the mesos-fetcher exits if the slave terminates."

This reverts commit f66fa52e7efd9c10f9256805e45095591d4833a7.
Added some slave recovery DockerContainerizer tests.

Review: https://reviews.apache.org/r/24765
Set ownership of stdout/stderr and container directory properly.

Review: https://reviews.apache.org/r/24766
Validate Docker version since we require >= 1.0.0.

Review: https://reviews.apache.org/r/24767
Save Docker container pid for subsequent containerizer updates.

Review: https://reviews.apache.org/r/24768
Moved 'mesos::internal::logging::installSignalFailureHandler()' to stout/logging.hpp.

Review: https://reviews.apache.org/r/24753
Added missing stout/glog.hpp.
Fixed libprocess tests due to the new io::read semantics.

Review: https://reviews.apache.org/r/24772
Cleanup mesos due to the new io::read semantics.

Review: https://reviews.apache.org/r/24774
Simplified a test by using FUTURE_DISPATCH.
Fix for some style issues.

Review: https://reviews.apache.org/r/24773
Removing unnecessary argument (same as default).