docs: explain when RUN cache gets invalidated

This adds a few lines to the RUN Dockerfile docs to explain how to
bypass the RUN caching and how ADD can also invalidate the cache for
these instructions.

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Merge pull request #5816 from unclejack/docs_run_cache

docs: explain when RUN cache gets invalidated
libcontainer: Add support for adding files

You can pass a map of filename -> data to nsinit.Exec() and the
files will be created in the container, without being stored
to disk outside the container.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Add private file support

This adds support for private files, i.e. files in /run/private/* that
are only visible in the container and are not stored outside them. For
example you can do something like:

    docker run --private api.key:/secret/key image

Which will upload the contents of the local /secret/key and create a
file called /run/private/api.key in the container with that contents.

You can also place a file called /etc/docker/private.d/api.key on
the machine running the docker daemon to achieve the same thing.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)