Allow IPC namespace to be shared between containers or with the host

Replaces #8211

Some workloads rely on IPC for communications with other processes.  We
would like to split workloads between two container but still allow them
to communicate though shared IPC.

This patch mimics the --net code to allow --ipc=host to not split off
the IPC Namespace.  ipc=container:CONTAINERID to share ipc between containers

If you share IPC between containers, then you need to make sure SELinux labels
match.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
I'm not very familiar with the whole command line passing code, but what happens when someone tries to do both?

`docker run --ipc=container:<id> --ipc=host ubuntu <command>`