Splitting our Octree and OctreeElement functionality from VoxelTree and VoxelNode

This is the first step in creating the particle server, it is mostly related to splitting out the basic Octree functionality out of the VoxelTree so it can be used by the particle system.

- New octree library
- renamed "Node" classes to "Element" if they were related to datastructures, kept "Node" when referring to network nodes
- moved several items out of voxels into octree, some into shared
- New Octree and OctreeElement base class
- Split VoxelTree/VoxelNode out to bebased on Octree/OctreeElement
- VoxelNode renamed to VoxelTreeElement
- got rid of old dead loadVoxelsFile() functionality that loaded old file format
- got rid of old voxel created/colored stats which were no longer being used
- introduced OctreeQuery, OctreePacketData, base classes