evolve: optimize the computation of the troubled() revset
We take the implementation from _counttroubles() and rely on the more
efficient & operation for revset instead of laying down the entire set with %ld.
inhibit: don't inhibit pinned commits during rebase
During a rebase we pin certain commits to always be visible. This caused the
inhibit extension to inhibit them when a transaction closed. Let's make inhibit
aware of such pins and not obsolete them.
evolve: extract the logic to solve one change into a method
The goal is to later reuse this method to implement the --rev flag for
evolve that solves the troubles in a revset.