Add optional control_pipe kwarg to SockConfigsTask

Sending anything to the control_pipe will cause the `SockConfigsTask`
loop to stop.
Modify get_available_ports to not use zmq

Do not use `.instance()` methods when creating `IOLoop` and
`zmq.Context` instances.