Make modules live reloadable

This makes use of `twisted.python.rebuild` to recompile a module in a clean way. It also uses importlib to retrieve the full module classpath (there might be a better way to do this but importlib was the best thing I came up with). I tested it out with a couple of modules and it works the way I intended it to work.