MSetIntervals: implement opertions more efficiently, implement strong set interface
MSetIntervals: implement opertions more efficiently, implement strong set interface

This commit implements the full ordered set interface with interval
sets. Moreover a decent folding operator for interval sets is defined.
This is used to implement certain operations more efficiently:

- fold
- for_all
- exists_
- filter
- partition

thtuerk/MSetsExtra,thtuerk/MSetsExtra