overlay: use fusermount to unmount FUSE file systems
overlay: use fusermount to unmount FUSE file systems

when a mountProgram is used, attempt to unmount the file system using
fusermount or fusermount3.

If the FUSE writeback cache is used (fuse-overlayfs uses it by default
since version 0.5), some changes might not be flushed from the kernel
to the FUSE file system.

Using umount we could lose these changes as the file system is
terminated before these changes are visible to the FUSE file system.

Going through fusermount|fusermount3 instead makes sure FUSE flushes
all the pending requests before the file system is unmounted.

If the fusermount attempts fail, make sure the file system is flushed
before being unmounted.

Signed-off-by: Giuseppe Scrivano <20002b7b24c75512093a71a58285826d5c504fca@redhat.com>

rhatdan/storage,containers/storage,rhatdan/storage,containers/storage,rhatdan/storage,containers/storage