refactor and qcdebug
::match was a super long spagetthi with multiple sub-matches.
This was supposedly primarily because it needed to be stateful across all sub-matches. To deal with this there's a new class which is taking care of the stateful service finding, this class is comprised of multiple matching functions that contribute to the full match set.
Good enough readability for now. Classes for this would be nicer though.
Also add qcdebug for this runner so we can get a better idea of why results are the way they are. Defaults to warning so it's silent by default.