new repl

* brings similar functionality in lein repl task to boot, deviating where appropriate to work with boot task model
* offers hooks to inject nrepl middleware, via task params and via build event (for cljs instrumentation)