Created a Set Difference class

Todo list:
- [x]  fix is that self.complement(other) behaves as other - self and self._complement(other) behaves as self - other. 
- [x] Complement printers
- [x] Rebase
probably, we should revert this test as well.