Changed structure of HistoricalAINode, added ability for > 2 categories

- HistoricalAINode was split into a helper class and two classes, an
active and a passive. This was messy and I found a way to have them be
nested classes underneath a single common HistoricalAINode. This
simplifies matters and makes things much easier to maintain.
- All hist-based scenarios had to change to accommodate the new naming
of the hist class they refer to. Note that HistoricalAINodeActive is now
HistoricalAINode$Active in the scenarios, since this needs to be picked
up by the Java reflection mechanism
- Added support for more than just two categories in the object
classification code. Any number of categories is now supported