Add more BBox constructors and test.

1.) The two point constructor could swap values between the points if
they don't define a box (i.e. (1, 2, 1) and (2, 1, 2)). That being said,
     if boxes are generated automatically, could this really happen?