New folder structure to support TextMate2 bundles format

Docker-DCO-1.1-Signed-off-by: German Del Zotto <germ@ndz.com.ar> (github: GermanDZ)
Instructions for Textmate's bundle installation

Docker-DCO-1.1-Signed-off-by: German Del Zotto <germ@ndz.com.ar> (github: GermanDZ)
docs: Installation Instruction Title & Description Fixes
Docker-DCO-1.1-Signed-off-by: O.S. Tezer <ostezer@gmail.com> (github: ostezer)

1. All titles are listed by simple platform names apart from Windows' "Installing Docker On Windows". Changed this to "Windows" to match the rest.

2. Some articles' description (and title) information does not match the majority. Modified them to match the rest (i.e. Please note this project is currently under heavy development. It should not be used in production.)

3. Removed "Linux" from Gentoo & Ubuntu descriptions.
Merge pull request #4019 from ostezer/fix-installation-windows-doc-title

docs: Installation Instruction Title & Description Fixes
devmapper: Remove directory when removing devicemapper device

We're currently leaving around lots of empty directories in
/var/lib/docker/devicemapper/mnt/ for removed images and containers.
Fix this by removing the directory when the device is removed.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
lxc: Drop NET_ADMIN capability in non-privileged containers

With this capability set the container can e.g. change the ip address
of his devices to that of another container on the docker0 bridge. In
a quick test I was able to listen to a port on a different ip than the
one docker assigned me, but was not able to hijack an open port
redirection that another container had open. Maybe its possible with
some more knowledge of networking though.

Anyway, network setup is meant to be handled by docker, not the apps,
so I believe denying this is generally in the spirit of docker, and
it closes down potential security issues.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Avoid extra mount/unmount during container registration

Runtime.Register() called driver.Get()/Put() in order to read back the
basefs of the container. However, this is not needed, as the basefs
is read during container.Mount() anyway, and basefs is only valid
while mounted (and all current calls satisfy this).

This seems minor, but this is actually problematic, as the Get/Put
pair will create a spurious mount/unmount cycle that is not needed and
slows things down. Additionally it will create a supurious
devicemapper activate/deactivate cycle that causes races with udev as
seen in https://github.com/dotcloud/docker/issues/4036.

With this change devicemapper is now race-free, and container startup
is slightly faster.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Merge pull request #4059 from alexlarsson/no-netadmin-caps

lxc: Drop NET_ADMIN capability in non-privileged containers
Merge pull request #3990 from 1uptalent/3989-fix-textmate-syntax

Fix textmate syntax bundler organization
Merge pull request #4049 from vieux/fix_commit

fix --run in docker commit
Merge pull request #4055 from alexlarsson/remove-devmapper-dirs

devmapper: Remove directory when removing devicemapper device
Merge pull request #4067 from alexlarsson/fix-devmapper-race

Avoid extra mount/unmount during container registration
Rewrite docker rmi

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)