revset: added lazyset implementation to branch revset

Performance Benchmarking:

$ time hg log -l1 -qr "branch(default)"
0:9117c6561b0b

real  0m3.366s
user  0m3.217s
sys 0m0.095s

$ time ./hg log -l1 -qr "branch(default)"
0:9117c6561b0b

real  0m0.389s
user  0m0.199s
sys 0m0.061s
revset: changed limit revset implementation to work with lazy revsets

Performance benchmarking:

$ time hg log -qr "first(branch(default))"
0:9117c6561b0b

real  0m3.130s
user  0m3.025s
sys 0m0.074s

$ time ./hg log -qr "first(branch(default))"
0:9117c6561b0b

real  0m0.300s
user  0m0.198s
sys 0m0.069s
revset: added lazyset implementation to keyword revset

Performance benchmarking:

$ time hg log -qr "first(keyword(changeset))"
0:9117c6561b0b

real  0m3.466s
user  0m3.345s
sys 0m0.072s

$ time ./hg log -qr "first(keyword(changeset))"
0:9117c6561b0b

real  0m0.365s
user  0m0.199s
sys 0m0.083s
revset: added lazyset implementation to author revset

Performance benchmarking:

$ time hg log -qr "first(author(mpm))"
0:9117c6561b0b

real  0m3.486s
user  0m3.317s
sys 0m0.077s

$ time ./hg log -qr "first(author(mpm))"
0:9117c6561b0b

real  0m0.551s
user  0m0.295s
sys 0m0.072s
revset: added lazyset implementation to date revset

Performance Benchmarking:

$ time hg log -qr "first(date(05/03/2005))"
0:9117c6561b0b

real  0m3.157s
user  0m2.994s
sys 0m0.087s

$ time ./hg log -qr "first(date(05/03/2005))"
0:9117c6561b0b

real  0m0.509s
user  0m0.289s
sys 0m0.070s
revset: added lazyset implementation bookmark revset
revset: added lazyset implementation to draft revset
revset: added lazyset implementation to desc revset

Performance benchmarking:

$ time hg log -qr "first(desc(hg))"
changeset:   0:9117c6561b0b

real  0m2.210s
user  0m2.158s
sys 0m0.049s

$ time ./hg log -qr "first(desc(hg))"
changeset:   0:9117c6561b0b

real  0m0.171s
user  0m0.131s
sys 0m0.035s
revset: added lazyset implementation to grep revset

Performance benchmarking:

$ time hg log -qr "first(grep(hg))"
0:9117c6561b0b

real  0m2.214s
user  0m2.163s
sys 0m0.045s

$ time ./hg log -qr "first(grep(hg))"
0:9117c6561b0b

real  0m0.211s
user  0m0.146s
sys 0m0.035s
revset: added lazyset implementation to merge revset

Performance benchmarking:

$ time hg log -qr "first(merge())"
102:58039eddbdda

real  0m0.276s
user  0m0.208s
sys 0m0.047s

$ time ./hg log -qr "first(merge())"
102:58039eddbdda

real  0m0.192s
user  0m0.154s
sys 0m0.027s