Add User Namespace support to libcontainer.

I have split the libcontainer changes from this PR https://github.com/dotcloud/docker/pull/6111 into this PR.
This PR depends upon this change -- https://github.com/dotcloud/docker/pull/6417

I want to get feedback on the implementation and the UI. For using this see https://github.com/dotcloud/docker/pull/6111 changes to the docker side. 

The changes allow one to specify UID/GID Mappings and also the user on host that will be mapped to root within the container. The UI can be tweaked on feedback.

 Docker-DCO-1.1-Signed-off-by: Mrunal Patel <mrunalp@gmail.com> (github: mrunalp)
You are mixing up the UID of the container process (`container.User`) and UID mappings of the container.  They are independent!

Apache would run as apache user in a container with root mapped to docker-root so that if it ends up exec'ing a compromised third party plugin that gains container root, it still won't impact host.