This doesn't need to be in middleware.

But can instead happen when we start the repl.
Use a dir name for the runtime jars that is less likely to collide with any other resource on the CP.
Don't use a worker verticle for the repl, since it will no longer be in the correct runtime.

The worker verticle will have its own clojure runtime now, which isn't
what we want. So now we start the repl in the same verticle/runtime as
the caller, and use futures to prevent blocking the event loop.