Make Scheduler._choose_pkg() parallelize more aggressively in cases when
it will not result in a less optimal build order. This works by modifying
the behavior of Scheduler._dependent_on_scheduled_merges() so that two
cases of dependence are ignored:
* A given dependency will be merged later anyway (due to dep cycles) and
therefore delaying the merge of the parent package will not result in a
more optimal build order.
* A given dependency is an "uninstall" operation and it also is not a direct
dependency, therefore it should be irrelevant to build order optimization.
svn path=/main/trunk/; revision=11405