have local interaction restart if SystemExited
fix stupid bug in repl
add hacky server.shutdown() support