build.xml
---------
Added `build-shell` target. This creates a folder, `build/shell` and copies all
of the required libraries and class files to that folder, excluding the
groovy-all jar that conflicts with groovysh's internal classpath.
Category.groovy
---------------
Fixed a bug in the `addEvent()` function.
CategorizationPlan.groovy
-------------------------
* Rewrote this as groovy code.
* Now is an abstract class instead of an interface.
* Added a property, `newCatSetupFun`, which is a closure that will be run
whenever this categorization plan creates a new category. A caller can set
this via the constructor.
* Added a function, `setupNewCategory()` that should be called inside of all
`newCategory()` implementations. This allows the user to have categorization
plans added to the subcategories dynamically.
* Updated all the CategorizationPlan implementations to respect this new
behavior.
start-script.groovy
-------------------
Implemented a more comprehensive analysis.
Description based category is now case-insensitive.
Fixed bug where description categories and plans were not agreeing on how
to categories items.
Updated startscript.groovy to be aware of new changes with events.
Update build script properties.