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.
a) I agree that this is a bit verbose and a little error-prone. The fix isn't immediately obvious to me, though.
b) That isn't so easy, as it is possible to have multiple "plurals" defined in the when conditions. It isn't unheard of to want to iterate them within nested loops, or to have multiple iterations that deal with different source variables.
c) The Classification -> Hint transition is very ugly, IMO. I think it would be more obvious why it is specified twice if it weren't for that.