Propogate additional compilation data from RoslynCompilationService

* Update CompilationFailedException to include path of file being compiled
* Pass in path being compiled to Rolsyn.
* Adding doc comments for compilation pieces

Fixes #869
shoot.  I didn't realize both `File` and `ReadContent()` were both private when I wrote my comment.  How would something outside this class get the file content? is `System.IO.File.ReadAllLines(FilePath)` their best choice?