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
Ah, here it is ... Sorry! Its saving and using `val` ... Doh!