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) That refs -> over(refs).as(ref) is always, isn't it? What about specifying some default values so you do not need to specify it everytime for one Iterable...
b) The same as a) would go for of() and in() .. The variable name was already specified in the .as(), isn't there a way how to propagate this value?

By accepting both conditions, writing rules will be more about WHAT and not about HOW (as it is now)