Used unsigned constants for older compilers.
Added a helper for determining the cgroup of particular pid.

These helpers perform the non-trivial steps required to determine the
cgroup of a particular pid for a particular hierarchy where a
particular subsystem is attached (in this case, we've provded
implementations for the 'cpu' subsystem hierarchy and 'memory'
subsystem hierarchy, which may be the same depending on how cgroups
are mounted).
Used the new cgroups helpers when updating Docker container resources.

Rather than "prepare" the cgroups for Docker, now we just introspect
and determine the necessary hierarchies and cgroups we need based on
how Docker (or an operator) set up the cgroups mounts.
Moved WSTRINGIFY out of a namespace.
Modified Docker example framework to use busybox.
Improved failure handling of DockerContainerizer.

Two improvements:

(1) Checked the exit status of 'docker.run()' in order to fail early.

(2) Improved the override on mesos-executor to return the exit status
of the Docker container rather than the exit status of doing 'docker
wait' (which will be 0 even if the container exited with -1 because
'docker wait' correctly "waited" and it prints the container's exit
status to stdout).
Refactored some Docker tests to be more generic.
Fix docker usage test
Added DockerContainerizer kill task test.
Checked for mounted 'cpu' cgroups subsystem in Docker::validate.
Await container termination in docker kill test
Update docker uri to expect 3 slashes in prefix
Implemented launching executors in DockerContainerizer.

Also added a test for running an executor that builds a Docker image
from a Dockerfile.
Revised comments to reflect DockerContainerizer implementation.
Ben's cgroup changes
Replaced the docker test executor with a smaller one.
Addressing Docker review comments
WIP: DockerInfo