Move container.json and pid file into a root specific driver dir
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Fix cross compile for make cross
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Ensure that the container's dir is remove from native driver on stop
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Return error for lxc-conf when using native driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Fix cgroups swap issue when it is not supported
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Merge branch 'master' into add-libcontainer

Conflicts:
	execdriver/termconsole.go

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Make network a slice to support multiple types
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Ensure that loopback devices are mounted inside the conatiner
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Code review updates
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Ensure that the container dir is remove on restore
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Allow child process to live if daemon dies
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This way we can have different (non-default) exec drivers for some
containers.
Add "foreground" mode for docker run
This is a mode of "docker run" that uses direct forking from the
docker client, meaning that the container is a direct child of the
docker run command (rather than the daemon), and that it directly
inherits stdout/err (and stdin if requested) from the parent of the
"docker run" command.

This is very useful in cases where you e.g. want to run a docker
container from systemd (or other process manager), as we can use the
process manager to e.g. set up cgroups and limits, monitor and
restart, pass in fds for socket activation, etc.

The way this works is that there is a new execdriver, which is used
for forground containers. This container just does rpc calls back to
the "docker run" command, which in turn uses a "real" execdriver and
feeds it whatever data the "fake" execdriver got, but in the context
of the docker run command.

We feed information about the process (exit status, pid, etc) to the
daemon, so it is visible just like any other docker container via the
docker apis.