Move WriteBroadcaster to separate package as BroadcastWriter

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
server: Break out setHostConfig() from ContainerStart

This will be reused for ContainerCreate

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
api.DockerCli: Extract pullImage into separate function

This lets us reuse this code later.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)
Benchmark for BroadcastWriter

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
BroadcastWriter refactoring

It became slightly faster and lighter
possibly fixes #5923 problems

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Error if Docker daemon starts with BTRFS graph driver and SELinux enabled

The Docker btrfs graph driver does not interact well with SELinux at present.
If btrfs mounts the same file in several locations, the same SELinux label will
be applied to all mountpoints. In the context of the graph driver, things such
as shared libraries become inaccessible to containers due to SELInux, causing
all dynamically linked applications to fail when run in a container.

Consequently, error when we detect the daemon is being run with SELinux enabled
and the btrfs driver. Documentation has been added for this behavior.

Docker-DCO-1.1-Signed-off-by: Matthew Heon <mheon@redhat.com> (github: mheon)
Update README.md

Docker-DCO-1.1-Signed-off-by: Hyeongkyu Lee <hyeongkyu.lee@navercorp.com> (github: leeplay)
Merge pull request #6452 from mheon/selinux_btrfs_fix

Error if Docker daemon starts with BTRFS graph driver and SELinux enabled
Merge pull request #6702 from mrunalp/dev/helper_fns

Move setting hostConfig and pulling images into helper functions.
Merge pull request #6850 from leeplay/patch-2

Update README.md
Merge pull request #6821 from LK4D4/broadcast_writer_refactor

Broadcast writer refactor