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)
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)
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
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)
Merge pull request #3834 from philips/fix-socket-activation-systemd

contrib: systemd: make socket-activation Restart same as the main service file
Fix typo

Docker-DCO-1.1-Signed-off-by: Piergiuliano Bossi <pgbossi@gmail.com> (github: thinkingbox)
Merge pull request #3835 from thinkingbox/master

Fix typo
Merge pull request #3718 from alexlarsson/btrfs

Add btrfs support to docker