Support running pmbootstrap without root privileges
Created by: zhuowei
Currently pmbootstrap depends on root privileges to chroot into containers and CAP_SYS_ADMIN to setup bind mounts for the chroot. Root may not be available on shared computers (such as a school computer), and CAP_SYS_ADMIN isn't available inside most Docker containers (such as the container offered by Cloud9 IDE or Codenvy).
It would be nice to offer an alternative if there's no way to get root: for example, PRoot uses
ptrace to simulate chroot and bind mounts; it's much, much slower, but it may be useful if someone wants to try pmbootstrap on a web IDE or inside a Docker container.
(Note that, if you are testing PRoot in Docker, you need the workaround in this issue to avoid a segfault)
Other alternatives for rootless operation includes running in a virtual machine (which may need root for acceleration?) or using User Mode Linux to boot a virtual Linux machine (which errors out on Cloud9 with a "/dev/shm must not be mounted noexec" error that can be worked around by setting