Refactored Repl to use FilePreProcessor

Fixes #398

`Repl` is now using `FilePreProcessor` in the same way `ScriptExecutor` does. 
This means that it will benefit from the new `ILineProcessor`s with recursive `#load`s, `#r`s and usings are picked up in the session with environment variable expansion and support for paths relative to the specific scripts.  
This PR also removes `PreProcessorUtil`.