topcat: ensure that ConeMatcher can be cancelled properly.

Modify the ConeMatcher class returns an object that can be run and
interrupted rather than returning a TableProducer with an
unreferenced thread that the caller cannot access.  This should fix
it so that hitting Stop in the multi-cone window really does shut
down all threads associated with the multi-cone sequence.
However, the STILTS coneskymatch could still in principle leave
threads running if the task is interrupted but the JVM is not shut down.
ttools: fix it so that skyconematch terminates threads on interrupt.
ttools: implement default limit on multicone parallelism.

There is now a limit defaulting to 10 and controlled by the
service.maxparallel system property which limits the number of parallel
threads that will be used to hit a server during a multicone-like query.
This should reduce inadvertent service overloading.