revset: added set method to addset to duck type generatorset

Since this class is only going to be used inside revset.py (it does not duck
type baseset) it needs to duck type only a few more methods for the next
patches.

--HG--
extra : rebase_source : da5b45dc13a774770270a4ad2ba910152fc5a633
revset: added ascending attribute to addset class

In case both collections are in an ascending/descending order then we will be
able to iterate them lazily while keeping the order.

--HG--
extra : rebase_source : 21252d5591df2e1cb339a163e173470bfc28247d
extra : amend_source : 98c0f50bae3789d7f46ec0471776c139b53070d2