fix(common): Read mounts from /proc/self/mounts

Just in case the filesystem view is slightly different.
fix(common): Fix okboat and failboat because boat.
fix(common): Simplify unmount code, die loud and die hard.

As-is safe_umount is extremely dangerous. When passed multiple mount
points and any one of them fail with a "not mounted" or "doesn't exist"
error then any others that fail with a more serious error will be
silently ignored. This can cause untold sadness when running deleting a
chroot with cros_sdk if /mnt/host/source is left mounted, all your code
will be gone. To avoid this situation remove *ALL* this extra logic and
die very loudly when umount fails. Due to the way bind mounts interact
with this code "not mounted" so when unmounting a full tree we need to
still need to gracefully retry when the first umount fails.
fix(build_image): Don't unmount when the rootfs isn't mounted

This function is never called when rootfs is mounted but leaving in a
check for it as a just in case sort of thing.
Merge pull request #44 from marineam/fix-umount

Fix umount