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
Shouldn't this be deleted through the service, so an event is raised for this old file which is being deleted?