REL-726: Step one, refactor the template model.  

This is the first part of work required to make targets and conditions editable in template groups.  In particular this part only changes the model but doesn't yet add any editing features to the UI. In order to avoid a merge conflict on the template folder, and to avoid broken references to targets and conditions from template parameters, I propose updating the model as depicted here:

http://jira.gemini.edu:8080/secure/attachment/13031/REL-726.png

In summary, instead of storing targets and conditions in a map in the template folder, copies are distributed amongst the template parameters.  This is consistent with being able to edit them individually and avoids merge conflicts and broken links. Most of the changes here are mechanical but it did require that a lot of files be touched.
Can you do asInstanceOf of a parametrized class?