Include changes to isolation flag when creating Mesos containerizer.
Move Linux namespace functions into linux/.

Also moved and updated tests.

A following commit will remove this code from stout.

Review: https://reviews.apache.org/r/27091
Add getns() for namespaces.

Review: https://reviews.apache.org/r/27127
Add ns::pid::destroy() to destroy a pid namespace.

All processes are signalled with SIGKILL then reaped. The order of
signalling is not determined, i.e., generally the init pid is not the
first pid signalled.

Review: https://reviews.apache.org/r/25966/
Remove Linux namespace functions from stout.

This code was moved to linux/ in an earlier commit.

Review: https://reviews.apache.org/r/27092
Pid namespace isolator for the MesosContainerizer.

Add namespaces/pid to --isolation slave flag. Places executor into a pid
namespace so it and all descendants will be contained in the namespace.

Review: https://reviews.apache.org/r/25865
Correctly recover pid in Linux launcher.

If the freezer cgroup is absent (if the slave terminates after the
cgroup is destroyed but before realizing) we should still recover the
pid because we check this on destroy().

Review: https://reviews.apache.org/r/27166/
Use pid namespace to destroy container when available.

The Linux launcher will check if a container is running in a pid
namespace and will kill all processes rather than using the freezer.
This approach is backwards and forwards compatible.

Review: https://reviews.apache.org/r/25966
Correct include of linux/ns.hpp in isolator tests.
Add --enable-debug and --enable-optimize flag for controlling building debug and optimized verisons of libprocess

Reworks buiding mesos in a "debug" vs. a "release" configuration. By default, mesos is built in a developer-centric setup (No optimizations, minimal debug info), in order to maximize developer productivity

None: '-O0 -g1'
--enable-optimize == '-O2'
--enable-debug == '-g'
--enable-optimize --enable-debug == '-O2 -g'

If a user / developer passes CXXFLAGS or CFLAGS manually, then they are not changed / touched at all. This is important so that Mesos is a good citizen when being built for various distributions (As well as making it so specialized one-off groupings of flags are feasible to use).

Adds two defines for accessing what mode things are being built in: 'DEBUG' and 'OPTIMIZE' which can be hooked into later to enable extra logging and the like. For release builds we may want to set 'NDEBUG' which removes assert()'s, but that is a seperate discussion.

Review: https://reviews.apache.org/r/27252
Include tests/setns_test_helper.hpp in Makefile.
Consolidated "launch" code paths in Docker containerizer.

Review: https://reviews.apache.org/r/26610
Allow docker containers to be scheduled for removal
Fix docker flaky tests

Conflicts:
	src/slave/containerizer/docker.cpp
Add priviledged option to docker info
Support lxc configurations in docker containerizer
Add docker hostname option.
Symlink sandbox directories in docker containerizer

Review: https://reviews.apache.org/r/26517
Avoid docker inspect on each usage call

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