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)
I do want us to start making a distinction between runtime config and container config. Runtime config are the things that we can change if we were to run another process in the container. This is one example of that. I don't think it affects your PR, but it is something for @rjnagal, @crosbymichael, and me to think about :)