[Delete] Add Delete All action

Adds a "delete all" action which recursively deletes a components and its descendants, to serve the user-facing needs of #89. Descendants that cannot be deleted are effectively removed (in the "remove manifestation" sense); if such a descendant is the last reachable manifestation, the action does not complete.

A Dialog pops up explicitly listing the components that will be deleted, in order to ensure that the user understands the consequences of the action. Text for dialogs is derived from existing text for Remove Manifestation and Delete actions.

 Wrote or re-wrote unit tests (Y/N): Y
 Ran entire suite of unit tests successfully (Y/N): Y
 Verified bug fix with the described replication steps or verified the implementation meets the requirement cited (Y/N): Y
 Code coverage requirements satisfied (new code=80%, changed code=at least as high as existing) (Y/N): Y
 Code review date and attendees: Self-review by pull request (no other MCT developers)
 Describe potential impact on other areas of the code: Object deletion, menus
 Describe any test prerequisites for this fix (e.g., restart the database): N/A
 For bugs marked "Regression - Yes", describe the cause of the regression: N
 Did you modify any pom.xml file? If yes, did you thoroughly document your changes and reasons? N