20467 - mcollective service does not gracefully exit on windows

This proof of concept reimplements the way the mcollective runner
works. The runner is now split into two threads, a controller and
receiver.