make docker run handle SIGINT/SIGTERM
Sort APIImages by most recent creation date.

Fixes #985.
keep processing signals after the first one
Improve TestKillDifferentUser to prevent timeout on buildbot
minor cleanup for signal handling
add formatting directive to failure to stop container error
Add GitHub usernames to MAINTAINERS
Add initial bash completion script

The script can be used to auto-complete commands, image names and
container ids from within a bash prompt.

This partially resolves #336.
Apply volumes-from before creating volumes

Copies the volumes from the container specified in `Config.VolumesFrom` before
creating volumes from `Config.Volumes`. Skips any preexisting volumes when
processing `Config.Volumes`. Fixes #1351
Skip existing volumes in volumes-from

Removes the error when a container already has a volume that would otherwise
be created by `Config.VolumesFrom`. Allows restarting containers with a
`Config.VolumesFrom` set.
Add description and usage information
gitignore all test files
Missed -entrypoint from 'docker run' options
Clarified bash completion limitations
Still missed -entrypoint from 'docker run'
Fix typo in docs for docker run -dns
Fix Graph ByParent() to generate list of child images per parent image.
Add test case for Graph ByParent().
runtime: correctly detect IPv4 forwarding

When memory cgroup is absent, there was not attempt to detect if IPv4
forwarding was enabled and therefore, docker was printing a warning
for each command spawning a new container. The test for IPv4
forwarding was guarded by the test for memory cgroup.
Adding a reference to ps -a

It was confusing to me as a first-time user that my docker attach command failed; I was expecting the container to run continuously, and when I couldn't attach to it, I assumed something was wrong. ps -a shows that the container still exists, which gives the user confidence to go to the next step.