Created mesos::modules namespace for all module related code.

Review: https://reviews.apache.org/r/27020
Checking "kind" before creating a module instance.

Introduced a new kind<T>() function that returns the string
representation of the module "kind". This function is specialized for
each module "kind". Also introduced a templatized
contains<T>(moduleName) that returns true only if a module of name
"moduleName" and kind "T" is available.

Review: https://reviews.apache.org/r/26906
Added sample isolator module.

Created CPU and Memory isolation modules based on Posix CPU/Memory
Isolators. These modules are also hooked up to the relevant Isolator
tests using the typed test mechanism. It also paves the way for future
integration with custom modules specified on the command line.

Review: https://reviews.apache.org/r/26071
Fixed race condition in Latch.

There is a race condition in Latch. The same pid can be terminated by
2 seperate threads simultaneously.

Review: https://reviews.apache.org/r/26783
Use RBT by default and correctly determine if version is >= 0.6

Review: https://reviews.apache.org/r/26420
Differentiate between slave and offer ids

Review:
Fixed missing process.hpp include in zookeeper group.

Zookeeper/group.hpp was missing an include. This was not obvious until we reduced un-necessary includes in libprocess.

Review: https://reviews.apache.org/r/27025
Added loading of Isolator modules in mesos containerizer.

If an Isolator type is not found in the default list, the code now
queries ModuleManager and creates a module instance if found.

Review: https://reviews.apache.org/r/26727
Reduced over-include in libprocess Socket.

Timeout only uses clock. Reduce inclusion to clock as opposed to all
of process.hpp. This helps prevent circular dependency when we include
future in socket.hpp.

Review: https://reviews.apache.org/r/27024
Used CHECK_SOME in module manager.
Added --modules flag for tests.

This allows the user to specify the modules to load during tests.
The modules are made available to the master and slave subsystems.

Review: https://reviews.apache.org/r/26796
Added a libprocess network benchmark.

The benchmark forks and launches multiple "libprocess" processes in
each child. They are aware of the "master"'s (parent) address and all
play ping pong with it. This benchmark measures throughput in terms of
the number of RPCs handled per second using persistent (linked)
connections.

A new test file (benchmarks) is introduced because we want to fork
before libprocess is initialized. This allows us to prevent
short-circuiting of message passing between processes under the same
ProcessManager. This way we force the execution path of the underlying
event management system.

Review: https://reviews.apache.org/r/26150
Added module loading support for local clusters.

Frameworks triggering a local cluster (--master=local) now have module loading
support via slave and master flags (--modules).

Review: https://reviews.apache.org/r/26775
Fix Libprocess benchmark OSX

pipe2 does not work on osx.
Replace pipe2 with a helper function that sets up the pipes using pipe()
and then stout/os::cloexec().

Review: https://reviews.apache.org/r/27116
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.