refactor: introduce IRepl, move IReplEngine to own file, add guards, remove redundant code, fix code formatting
make REPL injectable and overrideable like other services
refactor:
 - redundant code
 - line length
 - guard clauses
 - EOL at end of file
 - readonly fields
 - replace if with null coalesce
 - replace if with inline conditional
 - whitespace
Merge pull request #877 from adamralph/refactor-830

refactoring after #830
prefixed FileSystem locations with scriptcs_
changed command line to assume REPL when no command or script name is passed
- this is to allow running modules without having to specify -repl, e.g. scriptcs -m "migrate"
added migrate module