Add support for debugging templates loaded from the disk

Hi there!

This pull request is a backport of an old patch done on a previous version of RazorEngine that was never integrated into the trunk (See https://razorengine.codeplex.com/SourceControl/list/patches  9279 and 9277)

It is basically adding support for debugging templates within Visual Studio that were loaded from the disk.

You can check and test this feature by debugging the test : `TemplateServiceTestFixture.TemplateService_CanDebugTemplateLoadedFromDisk` and putting a breakpoint into the file `TemplateServiceDebug.cshtml` (on the line `if (System.Diagnostics.Debugger.IsAttached)`. Breakpoints can only be set on valid C# code line).

It is modifying lots of different interfaces (as we have to pass a templateFilePath along the templateContent), but interfaces and main Razor class contracts were kept compatible by setting default to null for this new parameter.