WINDUP-253  Refactor WindupProcessor/Impl

Refactor WindupProcessor/Impl to simplify the API, move inner classes out and offload part of the code like prettyPrintRule() out of this important class.
WINDUP-131 perhaps? Or really any forge service that wants to attach data to the graph before the graph is used by the rules. Mostly, I am confused as to why making a listener into a list would be a problem. :) But if you really want to defer it, I guess there are other things that could be more significant.