Fixes for discover properties, and some other issues

@bradsdavis - I agree with this from the standpoint of parallel execution. This code is really just a hack to be able to forcibly stop Procyon, though. ExecutorService's approach to stopping (if I am reading the docs right) is just to interrupt the thread. That won't work with Procyon, unfortunately, as it will never actually be interrupted by a Thread.interrupt() call.

This approach is ugly, and should be replaced. But it does make some current scenarios work for the time being. We really need help from the upstream project to have it respond to interrupt(), IMO.