Implement spacetree interval check on boxcollision

We implement a new data type called IntervalBox that is an areal
object which spans a rectangle in 2 dimensional space.  We can do the
interval check based on a box collision now.  This generalizes the idea
of the space tree because we can treat the different branches of the
space tree as areal objects themselves.