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)
This really defines the uid/gid that appears to be running on the host. The user of libcontainer may or may not change this from 0. In case of docker, the uid/gid will be mapped to the appropriate values for the "docker-root" user on the host system. This effectively makes the final processes running as docker-root on host but mapped to root in the container if there is also a corresponding mapping provided.