Feature/REL-726 (Part B)

This is the second part of REL-726, the new feature that allows template parameters editing in general.  This part builds on the refactoring work in the first PR to add a user interface.  The UI only appears when you have staff permissions for a program.  Otherwise, the Template Group editor appears unchanged from 2014B.

This editor won't win any design awards unfortunately.  I comfort myself with the fact that it is only meant for occasional use and only then by staff members.  The editor supports simultaneously editing multiple template parameters (i.e., phase 1 observations).  You select the entries you want to modify in the table and the editor configures to show the elements that are common across the selected items.  Elements that are not the same are left blank but you can fill them in (or pick from a combo box etc.) to update all of them at once.

Like most UI code, it's fairly difficult to grasp what is going on just by looking at the code. You can go through the commits if you like but they are a bit meandering so I recommend just jumping to the files changed to see the final version.

![templategroupeditor](https://cloud.githubusercontent.com/assets/4906023/4784290/36e8b7ce-5d4e-11e4-9f70-c74829b60e64.png)
Yeah, in fact in the new model `SPTarget.clone()` is just `new SPTarget(target)`. Things get so much easier when you don't intentionally make them insanely complicated.