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.
This doesn't appear to handle the case where the second character is upper-case. I don't believe that you are supposed to lower-case the first char in that situation.