Added or, and, not on Predicate and organized some tests
fixed RangeIterator drop bug