alphabetize and document EAPI optionals
Add the ability for a profile property to be limited by EAPI visibility
Add EAPI5 stable use mask/force support.

Bit horrible frankly, but it's required due to the literal features
demands- this in turn means that pcheck will need expansion, and will
likely become eventually 2x slower in visibility scans (doubles the
profile use flag variations that have to be checked).
EAPI5: add --host-root support to best_version/has_version

Additionally, enforce root specific access for those functions for
all other usage.
Remove support for multi-slotted atoms.

Specifically, this was support for 'dev-util/diffball:1,2' automatically
translating to '|| ( dev-util/diffball:1 dev-util/diffball:2 )'.

This is *old* functionality that was added in days gone past; it
never made it into a mainline EAPI; thus just punt it now.
Convert test_atom to RestrictionTest, fixup assert*Match apis.
EAPI5: Add atom support for subslots/slot operators.

Resolver still is unaware, and a 'bind' api needs to be added; that
said subslot restriction matching, parsing (native/cpy), and tests
are there.
Add outputing the offending pkgset for any parsing errors
Fix slot stringification error for the atom class.
add protection w/in the compare pathway for py3k disliking None compared to a string
add package.accept_keywords support
Output slots and repo ids similar to current portage if verbose enabled
Use consistent indenting and whitespace
pmerge: add -O for --nodeps and -n for --noreplace to match portage
pmerge: minor help formatting changes
output pkg CPV strings for info, error, and debug messages
define T for pkg_pretend phase

Currently this still allows files to be saved into the tempdir during
pkg_pretend (similar to portage) even though PMS explicitly mentions
that pkg_pretend shouldn't write to the filesystem.
fix staticmethod and classmethod usage for resolver
drop old dbs parameter from add_atom call
only output pmerge summaries in verbose mode