devmapper: Maks createSnapDevice a function, not a method

No idea why this was a method. Maybe a cut and paste bug.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
devmapper: Move error detection to devmapper.go

This moves the EBUSY detection to devmapper.go, and then returns
a real ErrBusy that deviceset uses.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
devmapper: Simplify thin pool device id allocation

Instead of globally keeping track of the free device ids we just
start from 0 each run and handle EEXIST error and try the next one.

This way we don't need any global state for the device ids, which
means we can read device metadata lazily. This is important for
multi-process use of the backend.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
devmapper: Store metadata in one file per device

This allows multiple instances of the backend in different containers
to access devices (although generally only one can modify/create them).

Any old metadata is converted on the first run.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Adding Rohit Jnagal and Victor Marmol to pkg/cgroups maintainers.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
The Go template is a better pattern for documentation.
Change owner only on copied content

Fixes #5110
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
move Table to a separate file and add additional unit tests

Docker-DCO-1.1-Signed-off-by: Bryan Murphy <bmurphy1976@gmail.com> (github: bmurphy1976)
Update restrict.Restrict to both show the error message when failing to mount /dev/null over /proc/kcore, and to ignore "not exists" errors while doing so (for when CONFIG_PROC_KCORE=n in the kernel)

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Merge pull request #5659 from ryanaslett/master

Trivial Documentation Change: The Go template is a better pattern for documentation.
Merge pull request #5404 from alexlarsson/dm-new-metadata

Make devicemapper backend able to support multiple processes
Merge pull request #5535 from vmarmol/add-maintainers-cgroup

Adding Rohit Jnagal and Victor Marmol to pkg/cgroups maintainers.
Fix link to daemon/execdriver/lxc/lxc_template.go
Fixed typo in docs - intro - working with docker - working with images.  It read that you can use both images used by others and images used by others, in a run-on sentence.
Merge pull request #5673 from tianon/kcore-error

Update restrict.Restrict to both show the error message when failing to mount /dev/null over /proc/kcore, and to ignore "not exists" errors while doing so (for when CONFIG_PROC_KCORE=n in the kernel)
devmapper: Remove accidental debug spew

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Merge pull request #5680 from alexlarsson/dm-remove-spew

devmapper: Remove accidental debug spew
Merge pull request #5679 from tdaws/master

Fixed typo in docs - intro - working with docker - working with images. ...
make higher level heading specify that instructions are for manual install

Docker-DCO-1.1-Signed-off-by: Benjamin Atkin <ben@benatkin.com> (github: benatkin)
Merge pull request #5116 from LK4D4/chown_only_on_content_#5110