{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)
docs: update docs referring to COPY and USER to reflect UX change

This patch changes the documentation that refer to the COPY and USER
instructions, so that they reflect the new UX of COPY and USER (that
COPY copies files and chowns them with the same runconfig as the
currently set USER -- with a default of 0:0).

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