ContentGroup parents can be added as self parents

* Corrects overzealous exception thrown when ContentGroup parents were
  being added with add_child mistakenly.
Additional refinements to File ContentGroups

* ContentGroup handling for File objects refined to have safer handling
  around missing and self-parent cases. UI now disallows selecting
  self-parenting, and corrects self-parented refs that pass through it.
* (closes #2480)
Merge pull request #2484 from Stanford-Online/jrbl-contentgroup_parents_of_self

Jrbl contentgroup parents of self