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.