Merged from trunk 5995:6021
For bug #167450, optimize merge order by delaying the merge of root
nodes.
For bug #166880, always display the merge list (allowing --tree to be
obeyed in any case).
For bug #166880, always display the merge list header.
When calling tar, always exclud . in order to preserver
PORTAGE_WORKDIR_MODE. Thanks to Brian Harring in bug #167544.
Don't exclude . since that excludes the entire contents of some tar
files.
For bug #166564, make a circular dependency panic more user friendly by
displaying the USE flags that are enabled on nodes that are part of
dependency cycles and display a note hinting that circular dependencies
can often be avoided by temporarily disabling USE flags.
Automatically enable --tree mode when displaying nodes with circular
deps.
For bug #167450, optimize leaf node selection by ordering nodes from
highest to lowest overall reference count.
Make digraph._merge_order_bias() operate on a single digraph that's
passed in.
Optimize order for --tree display of circular dependencies.
As requested by vapier, don't show the merge list in --quiet mode unless
it's explicitly requested via --ask or --pretend.
For bug #167795, try avoid the population routine when possible, so that
FEATURES=buildpkg doesn't always force population.
Raise a CommandNotFound exception when necessary, to ease
troubleshooting. Thanks to marienz for reporting.
svn path=/main/branches/prefix/; revision=6080