Returns the distance to other (0 if intersection is nonempty).

def distance(self, other):
        '''Returns the distance to other (0 if intersection is nonempty).'''
        if self & other:
            return 0
        return numpy.max([other.left-self.right, self.left-other.right])