fix --host-root usage with has_version and best_version for EAPI 5

Previously the --host-root string was still be passed through to
portageq which doesn't accept that as an option.
fix EAPI 5 check for use flag existence with inverted flags

The '!' prefix wasn't being stripped so the test was failing for
inverted flags. This copies portage's method of using a preset return
status and inverting it when the flag isn't found.
use consistent indentation and whitespace
fix setting IFS with escape sequences
fix helper scripts to allow files and dirs to start with dashes
add all existing EAPI helper dirs for ebuild's EAPI and less to PATH

Previously only the ebuild's related EAPI helper dir was added so
commands banned in previous EAPIs would be allowed in later EAPIs and
commands added to previous EAPIs wouldn't be visible to later EAPIs.

For example, dohard was banned in EAPI 4 but was being allowed to work
in EAPI 5.
remove old, unused DAEMONIZED variable
output QA deprecation warning for hasq usage (similar to portage)
clean up logic for EAPI specific export skipping

To add new functions to be skipped just append them to the
INTERNAL_FUNCS array in the EAPI specific files.
source EAPI 2 lib instead of duplicating it for EAPI 3
only output extra newline when printing export skip list to stdout
fix collision protect errors by using localized install contents

Symlinks are followed to localize installed files which fixes
collision-protect errors when installing python packages using newer
python-exec that install into /usr/lib/python-exec which is a symlink to
/usr/lib64/python-exec on multilib amd64 systems.

This also reverts the previous workaround of disabling realpath that
caused issues when merging files under the symlinked directories. The
files would get removed every other install iteration because the
locations weren't matching (one would use the symlinked dir while the
other would use the real dir).
minor comment fixes and whitespace/wrapping consistency changes
use consistent variable name for merge engine objects
remove unused default_ldpath global variable

LDPATH is now discovered by scanning the files in /etc/env.d.
use more descriptive variable names relating to make.conf settings
cut down on duplication to pull various domain settings
revert to unlocalized content sets everywhere

This provides a more consistent view of merged files when compared
between pmerge/portage output and the vdb. Also, this is needed to allow
settings such as COLLISION_IGNORE and UNINSTALL_IGNORE (which both
include '/lib/modules/*' by default) to work properly on systems where
/lib is a symlink without having to go through the process of resolving
all the listed paths.
don't apply stable use mask/force settings to unstable systems
add support for UNINSTALL_IGNORE (see make.conf man page)