BVHTree and BVHObjectCache: added implementation.
ObstacleLossExample: added BVHObjectCache example.
IVisitor: removed unnecessary abstraction level of visitors from all spatial data structures.
PhysicalEnvironment, GridObjectCache, ObstacleLoss: followed recent visitor class changes.
Polygon: added getNormalVector().
Prism: fixed calculateOutwardNormalVectorForFace().
PhysicalEnvironment, Cuboid: Prism works OK with Cuboids.
PhysicalObject: position will represent the center of the object's bounding box.
ObstacleLoss: added intersection computation statistics.
PhysicalEnvironment: IObjectCache has to be pure virtual class.
GridObjectCache: added a dummy buildCache().
BVHTree, ObstacleLoss, GridNeighborCache, QuadTreeNeighborCache: don't allocate visitors with new.