revset: move weight information to predicate
Previously revset weight is hardcoded and cannot be modified. This patch
moves it to predicate so newly registered revsets could define their weight
to properly give static optimization some hint.
Differential Revision: https://phab.mercurial-scm.org/D657
Greg Ward, author of the original bfiles extension
Na'Tosha Bard of Unity Technologies
Fog Creek Software
Special thanks to the University of Toronto and the UCOSP program