detect flat cgroup mount, mount cgroup accordingly

If an existing cgroup mount is mounted flat, later cgroup mounts have to be
flat as well. Similarly, if there are existing mounts for individual
subsystems, later mounts have to be done the same. So, detect if there's an
existing flat mount, and mount ours flat as well, and just bind-mount each
subsystem.

This makes Garden compatible with more recent versions of LXC.
use more specific intermediate host mount point

mnt/ is very generic and happens to match other containerization systems'
(say, Docker/LXC) mount points, so running Garden in them is tricky.

so, mount to tmp/warden-host instead. this mount point only exists for a brief
period of time during container creation (after pivot_root and before the
daemon starts), so it makes sense to be as portable as possible.