Cleaned up old collision code

 - Puts region intersecting code inside each region.
 - Renamed point intersection stuff
 - Removes old collision managing stuff
Adds RegionGroup concept

 - A thing to store regions to do collision checks against.
 - A RegionPartition which uses a spatial partition to do faster lookups
 - The intersecting region must be used explicitly so the region group knows which function to call
   to check shape intersections.
Merge branch 'feature/region-group-concept' into develop

 - Adds RegionGroup stuff
 - Adds RegionPartition
 - Adds simple unit test for RegionPartition