Squashed commit of all commits for Pull Request 473
Modify default template parameter for `OctreePointCloudAdjacencyContainer`

This commit adds a new `AveragePoint<PointT>` class that is capable of
averaging the data contained in input points field-wise. The new class
is used as a default data storage type for
`OctreePointCloudAdjacencyContainer`.

Reorganized the OctreeAdjacencyContainer classes to make them more general and take advantage of @taketwo 's accumulator class

Rework of Octree container classes

Sketching proposed interface.

Removed template parameter for existing classes

Remove OctreeDataT template parameter

Updated Adjacency Container and Octree, Supervoxel Clustering

Merged accumulators inside leaf containers

Call reset() in octree containers constructors

Updated octree classes to use new name types, fixed reference to void error

Remove `<>` in 'test_octree.cpp'

Renamed PointIndex classes

Started with a clean-up in octree_container.h

Change "void" point_type from PointXYZ to boost::blank

Continue clean-up in octree_container.h

Another attempt to fix issue with point_type