Welcome the new user-land implementation of the pbi runtime
functionality. There is also a related patch to rtld.c which we will
be putting into our freebsd fork.

This patch replaces all the previous nullfs/fusefs VFS implementations.

Instead for PBI runtime, we will use PBI_PRELOAD to dynamically load a
wrapper library, and do the /usr/local -> /usr/pbi path mapping all in
userspace. This bypasses all the kernel VFS calls, which greatly speeds up
the execution time of PBIs, while improving reliability. (No more kernel
panics when VFS ops go haywire).

Required rtld.c patch:

https://github.com/pcbsd/freebsd/commit/956ccdbd6caa186658b95bcea18f41a50a901d73

Conflicts:
	src-sh/pbi-manager/pbifs/main.c
Make sure to also unset LD_ELF_HINTS_PATH when using "openwith"
Fix ldconfig setup during PBI execution
Change /usr/local -> /usr/pbi/<app> before checking ldconfig dirs
Fix sym-link resolving, now it will happen in the userland functions,
as opposed to failing when the system calls try to resolve automatically
Add support for running 32bit applications in the new PBI wrapper layer
Added new pbisyscmd in /usr/bin and /usr/local/bin, which can be used
to "breakout" from a PBI container and run apps in the systems /usr/local
namespace.
Fix a bug when the PBI tries to load libs / files from the hashdir,
this will redirect to the correct locations
Fix installing the .pbild binary we need to run new-style PBI
runtimes
Improve a bit further the pkg-install scripts for PBI runtime
Fix a bug opening files from PBIs with whitespace in the name

Also, fix how we run system commands, don't need to route through
a new shell
Define PBI_STAGEDIRMNT here too since it's used by mk_archive_file