very efficient at matching hundreds of prgorams up to lots of signals always
ticking off. i've optimized it now with a match (and no_match) cache so if an
input signal (and source) combination is known not to match anything, it's
cached after the first full check and henceforth avoids extra checks. the
cache is realyl simply right now - i could optimize it a bit to avoid excess
memory usage though...
SVN revision: 7189