Created DependenciesPreProcessor.cs which can be used to find recursive #r and #load dependencies

This is not being used in the code base yet, as the dependencies obtained need to:

1. Be merged with the references resolved by the `AssemblyResolver`.
2. Be merged with the target .csx file.
3. Have their creation and last modified dates compared against the target .dll creation and last modified date to see if a compilation is necessary.

The idea is to get this merged to keep PRs small. As always, feedback is welcome.