Ensure bindings used to fake /proc/<pid>/auxv are removed once <pid> is dead.

There were not removed previously because a binding is always
referenced by any fs->bindings.{guest,host,pending} lists, unless
remove_binding_from_all_lists() is called against it.
Automatically bind translated socket paths that are too long to shorter paths.

Socket paths can only be 108 bytes long; this limit might be easily
reached with PRoot since the path to the rootfs is always prepended.
A solution is to automatically bind this long path to a shorter path.

This fix support for Libreoffice under CARE and Yocto's pseudo:

How to reproduce:

    $ cd ~
    $ mkdir $(perl -e "print 'a' x 100")
    $ cd !$
    $ git clone http://git.yoctoproject.org/git/pseudo
    $ cd pseudo/
    $ ./configure --prefix=$PWD
    $ make -j 4
    $ proot make test

Before:

    test-chroot: Passed.
    test-dir-move: Failed.
    test-env_i: Passed.
    test-execl: Passed.
    test-pseudo_disable-fork-env_i: Passed.
    test-pseudo_disable-fork: Passed.
    test-pseudo_unload-fork-env_i: Passed.
    test-pseudo_unload-fork: Passed.
    test-reexec-chroot: Passed.
    test-umask: Failed.
    test-xattr: Failed.
    8/11 test(s) passed.
    # + a lot of: "couldn't bind listening socket: Invalid argument"

Now, PRoot is fully transparent:

    test-chroot: Passed.
    test-dir-move: Passed.
    test-env_i: Passed.
    test-execl: Passed.
    test-pseudo_disable-fork-env_i: Passed.
    test-pseudo_disable-fork: Passed.
    test-pseudo_unload-fork-env_i: Passed.
    test-pseudo_unload-fork: Passed.
    Server refused shutdown.  Remaining client fds: 1
    Client pids: 26033
    Server will shut down after all clients exit.
    test-reexec-chroot: Passed.
    test-umask: Passed.
    test-xattr: Passed.
    11/11 test(s) passed.

Reported-by: Christophe Guillon <christophe.guillon@st.com>
Ref: https://github.com/corbinlc/gnuroot/issues/16
Fix a couple of typos in comments.