add support for package.unmask in profiles
remove unused variable
output source repository instead of repo_id

This allows us to output the source repos for binpkgs instead of just
outputting the binpkg repo id.
add for package.keywords and package.accept_keywords in profiles
force the base profile to be loaded

Without this set, files in root profiles directory may be ignored, i.e.
/usr/portage/profiles/package.unmask settings will be ignored.
remove unnecessary new lines
properly respect package.keywords from profiles

This is a temporary, inefficient hack until a better solution is made to
overlay profile KEYWORDS from package.keywords on top of repos.
use unversioned atoms with --newuse building

Previously using versioned atoms could cause resolver failures if used
with the upgrade option on and a pkg was available for upgrade and had
changed use flags.
allow virtual/* pkgs to be considered for --newuse rebuilding
pmerge: remove -o alias for --oneshot (only -1 to mirror portage is enough)
minor simplifications for atom string formatting
change variable name to match replace resolver name
use fullslot attribute to track SLOT and slot/subslot to track related pieces
simplify pmerge formatting output of character operation descriptions

Basically use a list of static slots for characters. This vastly
simplifies handling whitespace and alignment issues.
remove extra spaces in pmerge output between atoms and use flag lists
output previously installed slotted versions for new slot installs
output F/f depending on if a fetch restriction is already downloaded

This mirrors portage output with a red capital "F" for not downloaded
and a small green "f" for already downloaded.
fix checksum validation for fetch restricted files

Previously nothing was returned from the verify function when all
checksums were found to be valid so the caller assumed verification
failed.
run pkg_nofetch phase when files cannot be fetched
add support for alternative parallel decompressors during unpack phase

PORTAGE_BZIP2_COMMAND and PORTAGE_BUNZIP2_COMMAND settings are respected
similar to portage as well as similar settings for PORTAGE_GZIP_COMMAND,
PORTAGE_GUNZIP_COMMAND, PORTAGE_XZ_COMMAND, and PORTAGE_UNXZ_COMMAND
that portage doesn't support yet.