DeviceMapper: Succeed immediately when removing non-existant devices

We've seen situations where removal of "ID-init" failed during
container deletion (EBUSY), after removal of "ID" has succeeded. This
caused the container delete operation to fail, and on the next delete
attempt the removal of "ID" failed immediately with "does not exist".

Ideally we should not fail the ID-init removal, but its also non-ideal
to allow a state where the container is half-removed and we cannot
make progress deleting the container. So, we silently ignore not-exist
errors on device removal.

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

We currently use a global lock to protect global data (like the
Devices map) as well as device data itself and access to
(non-threadsafe) libdevmapper.

This commit also adds a per-device lock, which will allow per-device
operations to temporarily release the global lock while e.g. waiting.
The per-device lock will make sure that nothing else accesses that
device while we're operating on it.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
devmapper: Increase sleep times and unlock while sleeping

We've seen some cases in the wild where waiting for unmount/deactivate
of devmapper devices taking a long time (several seconds). So, we increase
the sleeps to 10 seconds before we timeout. For instance:

https://github.com/dotcloud/docker/issues/4389

But, in order to not keep other processes blocked we unlock the global
dm lock while waiting to allow other devices to continue working.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Note within the RELEASE-CHECKLIST that "origin" is assumed to be upstream

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Adding the new options to the `docker ps` documentation.

URL of documentation page is: http://docs.docker.io/en/latest/reference/commandline/cli/#ps

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
Adding options to `docker restart` documentation

URL of page is: http://docs.docker.io/en/latest/reference/commandline/cli/#restart

Docker-DCO-1.1-Signed-off-by: Scott Collier <emailscottcollier@gmail.com> (github: scollier)
Update email + add self to pkg/signal

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Fix init script cgroup mounting workarounds to be more similar to cgroupfs-mount and thus work properly

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Add variable for DOCKER_LOGFILE to sysvinit and use append instead of overwrite in opening the logfile

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Move execdriver construction into execdriver/execdrivers

This can't be in execdriver (dependency loop) but should not be
hardcoded inside runtime.go either. So we put it in a subpackage.

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

DeviceMapper: Succeed immediately when removing non-existant devices
Add deprecation warning for -t on pull

Closes #3410
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Merge pull request #4466 from alexlarsson/execdrivers

Move execdriver construction into execdriver/execdrivers
Merge pull request #4589 from creack/update_maintainer

Update MAINTAINER email + add self to pkg/signal MAINTAINER
Merge pull request #4491 from crosbymichael/add-pull-dep

Add deprecation warning for -t on pull
Remove goroutine leak upon error

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Update parseLxcInfo to comply with new lxc1.0 format

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
Merge pull request #4504 from alexlarsson/devicemapper-waits

devmapper: Increase sleep times and unlock while sleeping
Merge pull request #4521 from tianon/release-checklist-origin

Note within the RELEASE-CHECKLIST that "origin" is assumed to be upstream
Merge pull request #4598 from creack/fix_lxc

Fix lxc