This is a stepping stone toward supporting ephemeral provisioners. c.f #8183 Right now provisioners run in-process with provisioner daemon, and communicate over an in-memory pipe. We need to also support out-of-process provisioners connecting over a network socket.