Add experimenta btrfs driver

This is an experimental btrfs driver. To use it you must have
/var/lib/docker mounted on a btrfs filesystem and explicitly
specify DOCKER_DRIVER=btrfs in the docker daemon environment.

It works by using subvolumes for the docker image/container layers.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Added new mkimage-yum.sh script to create CentOS base images

mkimage-rinse.sh requires rinse, which is not readily available on
CentOS or Fedora.  Plus, creating a base image is trivial with yum
alone.

Docker-DCO-1.1-Signed-off-by: Chris St. Pierre <chris.a.st.pierre@gmail.com> (github: stpierre)
fix shebang in mkimage-yum.sh

Docker-DCO-1.1-Signed-off-by: Chris St. Pierre <chris.a.st.pierre@gmail.com> (github: stpierre)
Update hack/make.sh with slightly clearer output and a more precise "are we in the Docker container?" check

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
Fix 2720 -- Expanded documentation for docker run.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
btrfs: Add comment to Put()

Document why we don't need to do anything in Put().

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
network: add publicly mapped ports to FORWARD table

Allow publicly mapped ports to be made public beyond the host.  This is
needed for distros like Fedora and RHEL which have a reject all rule at
the end of their FORWARD table.

Docker-DCO-1.1-Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> (github: jpoimboe)
Initial move of port mapper code into sub pkg

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Move port mapper tests out of core and into portmapper

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Address feedback from @jamtur01.
Docker-DCO-1.1-Signed-off-by: Andy Rothfusz <github@developersupport.net> (github: metalivedev)
Make get.docker.io install directions slightly better by telling user exactly how to add themselves to the "docker" group

As a bonus, if the user has run this script the way we recommend (ie, without "sudo" or "su", run as their user), we can actually give them the exact command they'll need with their correct username substituted appropriately.

Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
ExecStartPre commands updated

Docker-DCO-1.1-Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com> (github: lsm5)

systemd service no longer does '/bin/mount/ --make-rprivate /'.
Core issue fixed by Alex Larsson (commit 157d99a).

ip forwarding enabled.
remove ip fowarding from systemd (fixed: commit #3801)

Docker-DCO-1.1-Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com> (github: lsm5)
Merge pull request #3819 from crosbymichael/move-port-mapper

Move port mapper out of core and into network drivers
Merge pull request #3810 from jpoimboe/iptables-forward-public-ports

network: add publicly mapped ports to FORWARD table
Merge pull request #3734 from stpierre/mkimage-yum

Added new mkimage-yum.sh script to create CentOS base images
add tests

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

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
Merge pull request #3531 from lsm5/docker-systemd

ExecStartPre commands updated in systemd service file
contrib: systemd: make socket-activation Restart=always

Do as was done to f09a78cd219b24d4308034c8dd13410cfe5fbec7 in the
socket-activation example.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)