Remove #r directives from script and pass them to ScriptEngine instead

Managed to screw up the last PR, trying again...

This PR contains the following:
 - Refactoring of `FilePreProcessor`
 - #r directives are removed from script and passed to ScriptEngine instead. Fixes #140
 - `ProcessFile` now returns a `FilePreProcessorResult` which contains
  - Loaded files
  - References
  - Using statements
  - Resulting script (code)

You should now be able to reference assemblies with absolute/relative paths (relative to /bin)

I also have working code for #246/#221, do you want me to include that here or open up a new PR?