Convert Field Scheduler over to DispatcherMapField.

Convert over the minimum amount of the scheduling infrastructure
that is needed to get DispatcherMapField to compile.
Convert MapCell Scheduler over to DispatcherMapCell.

Convert over the minimum amount of the scheduling infrastructure
that is needed to get DispatcherMapCell to compile.

This required teach DispatcherBase how to determine if it should
use id3 based scheduling for uniform grids.
Convert GenerateTopology Scheduler over to DispatcherGenerateTopology.

Convert over the minimum amount of the scheduling infrastructure
that is needed to get DispatcherGenerateTopology to compile. This
means that we merge GenerateTopology and SchedulerGenerateTopology into
a single class.
Convert GenerateInterpolatedCells Scheduler over to Dispatcher Style.

Convert over the minimum amount of the scheduling infrastructure
that is needed to get GenerateInterpolatedCells to compile. This
means that we merge GenerateInterpolatedCells and
SchedulerGenerateInterpolatedCells into a single class.
Convert MapReduce dispatchers over to the new Dispatcher style.
Update Benchmarks to use the new dispatcher.
Update tests to use the new dispatcher.
Merge branch 'dispatcher'
Rename Classification array to Count array.

The name classification makes people think of a boolean state, instead
of an integer state that describe 0 to N number of outputs a cell can
generate.
Merge branch 'dispatcher'
Add Dispatcher Base to the proper CMakeLists.txt
Merge branch 'dispatcher'