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
From SystemDirectories.MvcViews:

 //NOTE: this is not configurable and shouldn't need to be
 return "~/Views";

But it would be nice to have consts for Partials and MacroPartials indeed.