vendor: update vendor'd libcontainer version

This patch updates the vendor'd libcontainer version, so that Docker can
take advantage of the updates to the `user` API.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
*: transition to new libcontainer/user API

This patch fixes the compilation errors in Docker due to changes in the
libcontainer/user API. There is no functionality change due to this
patch.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
Merge pull request #9023 from cyphar/libcontainer-update-to-new-interface

Update vendor'd `libcontainer` and update to use new `user` interface.
{daemon,volumes}: expose get(Root)?ResourcePath methods

This patch allows for the GetRootResourcePath and GetResourcePath
methods to be accessed by external packages (thus allowing for container
or volume resources to be referenced outside the `daemon` and `volume`
packages).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
builder: allow the USER directive to modify the owner of COPY'd files

This patch ensures that the USER directive will change the owner of any
COPY'd files or directories to the user id and primary group id of the
user which the builder's run config currently runs as. The user and
primary groups ids are ascertained using the same process and package as
libcontainer to ensure consistency (the same defaults are also used).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
integration-cli: add tests for USER changing owner of COPY'd files

This patch adds integration-cli tests for a wide variety of USER
directives to ensure that they all act consistently with the RUN
directive in terms of the owner of COPY'd files.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)