Add an fnmatch method to FS objects; make use of that
Minor python nits.

1) use boolean protocol instead of > 0
2) Use generator expressions rather than list comps; no point in having the
  intermediate list.
Fix rare, but potential type error in ignore filter generation.

What is returned from this function must be a Restriction; in the face of
no ignores, a list could be returned.  Additionally, a minor optimization-
avoid syscalls unless ncessary.
Cleanup collision ignore a bit further.

Move */.keep and */.keep_* ignore rules into the common collision ignore
logic; additionally, simplify the consuming code a bit and use more accurate
names.
Add note about trying to move to triggers rather than scanelf longer term
Make use of the transfer_to_* methods for data source objects.
convert a few profile attributes back to immutable instances

Any object that is cached (ie, arbitrarily shared) should be immutable for all
attributes- else it's possible for broken code to mutate that attribute, causing issues
for other consumers.
Limit pquery --revdep-pkg to just dep attrs; it was invalidly checking RESTRICT in addition.
Force old style virtuals to be EAPI0 for all intents/purposes.

This only comes into play for any ebuild still exporting PROVIDES.
revert respecting userpriv during pkg_setup

FEATURES=userpriv is not honored for pkg_setup.
use correct function name
drop redundant arch use flag addition to the enabled use flag set

The arch related use flag is already added to the forced use flags via
use.force in the profile and via code directly below.

This also fixes an issue where use expand settings in make.conf were
being overridden by profile settings, specifically an amd64 profile
level python_targets_python3_2 disable is overriding a local make.conf
setting.
fix support for profile-based stable use masking and forcing

Fixes issues causing the related profile files not to be parsed at all
and adds support for the use.stable.force and use.stable.mask files in
addition to the package specific versions.
convert another profile attribute to an immutable instance
simplify masking/unmasking set creation and use better variable names
use defaultdict to simplify code
add tests for package.unmask, package.keywords, and package.accept_keywords
fix doins allowing symlink installs for >= EAPI 4
update __all__ and clean up imports for misc ebuild stuff
ChunkedDataDict: preserve global settings when cloning while unfreezing