Overridden __invert__ to be able to use ~ on operators

Overridden __invert__ on operators so that we could call ~intersects for example, and get everything that didn't intersect.