Adding events for use by Courier/UaaS

Moved all logic of PartialViewTasks and PartialViewMacroTasks to a base class as the only difference was 3 variables
Added events: PartialView(Macro): Create, Save and Delete
Added events: Template: Save (there's already a legacy event, this is a new one to transition to)
PartialViewMacro.ascx.cs was adding ".cshtml" just so that it could strip it of again, crazy
Get the FileService through the ApplicationContext (which I assume is available here).

```
var fileService = (FileService)ApplicationContext.Current.Services.FileService;
```
to use the FileService with the internal methods.