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
It's cleaner to have the abstraction to read from here - https://github.com/aspnet/Mvc/pull/873/files#diff-cd2a8fb37823c5f12400e18951f762d0R125 than to do `File.ReadAlltext` or something along those lines