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)
@dineshs-altiscale I am not mixing them up.. I am asking for use cases and you provided one. If I were mixing them up I wouldn't have added the code to switch to a uid/gid independent of the mappings provided in the configuration. The argument is about whether the uid/gid should be inferred calculated from container.User and provided mappings or explicitly specified.