revset: added orderedlazyset class
revset: added filter method to revset classes

This method will replace the creation of lazysets inside the revset methods.
Instead, the classes that handle lazy structures will create them based on
their current order.
revset: changed revset code to use filter method

Revset methods now use the filter code to apply a condition.
revset: added basic operators to orderedlazyset

Now __and__ and __sub__ return orderedlazyset.