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>
This split happens in enough places (and in different ways) that it feels this logic should live on `IpcMode`.