Merge pull request #421 from khellang/module-refactoring

Module refactoring
Replaced REPL processing logic with FilePreProcessor. Removed PreProcessorUtil.
Fixed failing tests
Moved point where path is added to loaded collection to prevent load loop
Added empty ScriptResult when result is null
Merged upstream changes
Merged upstream changes