Added skeletal AggregateCellStateChanges
Made AggregateCellStateChanges publish CellStateChangesAggregated
Made AggregateCellStateChanges reset its state after publishing
Plugged AggregateCellStateChanges into program

+ Registered AggregateCellStateChanges with IoC container and bus.
  Registered it twice with the bus since it handles two events. In the
  process, I learned about C++ virtual inheritance and avoiding the
  diamond of death.
+ Removed some duplication from AggregateCellStateChangesTests