WINDUP-133: Refactor much of the BlackList/Classification functioanlity to use the more traditional graph/rule interaction. (Needs more work)

This is a preliminary PR for discussion purposes since I'll be on Vacation for a week. There is still a failing test (HintsClassificationsTest.java) Consequently, that is also where you should start to look at this to see what I've changed.
Should this be null checked as well? At the least, a well written exception would be preferable to an NPE, IMO.