External runner proc cleanup

This changes the external runner to reap its child processes when they timeout, and to teardown any zmq sockets it has created.  Fixes https://github.com/mozilla-services/loads/issues/137 for me.

I moved the receiver socket setup code into _execute() so that it would be visually closer to its corresponding cleanup code.