close_portdbapi_caches: portage.db atexit hook

The python interpreter does _not_ guarantee that destructors are
called for objects that remain when the interpreter exits, so we
use an atexit hook to call destructors for any global portdbapi
instances that may have been constructed.
emerge --metadata/regen: flush portdbapi cache
emerge_main: hold large objects in emerge_config

This allows emerge_main to avoid having direct local references to
large local objects (like "settings" and "trees"), making it easier to
ensure that stale objects can be garbage collected when other functions
refresh the config with calls to load_emerge_config(). This will be
much more flexible than the "gc_locals" approach that was introduce in
commit e9fd283aedf54e2effc73f4157524fe9a26993c0.
match_from_list: =* op with revision, bug #467826
emerge_main: call portdbapi destructors
Merge remote-tracking branch 'zmedico/master' into 2013-06-07
man/portage.5: remove /etc/make.conf references

Since /etc/portage/make.conf supersedes /etc/make.conf, there's no need
to mention /etc/make.conf here anymore (it's still mentioned in
make.conf(5) though).
dep_check: remove redundant list copy

There's no need to copy the list before calling dep_wordreduce, since
dep_wordreduce copies the list internally.
_emerge_config: implement __iter__
_emerge_config: simplify __getitem__
man/make.conf.5: mention RSYNC_PROXY
emerge --autounmask-write: chk_updated_cfg_files

Instead of suggesting to call dispatch-conf, call chk_updated_cfg_files
in order to display a config update message when appropriate.
Show unevaluated atom in blocker parent display.
Merge remote-tracking branch 'zmedico/master' into 2013-06-07
remove RSYNC_PROXY