[Save All] Show 'Save All' option when closing window

When there are dirty changes to an unsaved modified child object, show the option "Save All" in the dialog that pops up when closing an object's window. This addresses the last known remaining case of #105.

Notes:
* Uses WindowManager to pop up the dialog, reducing coupling & decreasing dependence on Swing (eases unit tests, supports future flexibility; ongoing concern identified in #155)
* Also reorders some conditions to prevent possible NPEs (not directly related to issue, but possibility of issue discovered while verifying). Specifically, `WindowManager.showInputDialog` may return null, but users of this method often did not respect this possibility.

    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 (developer team size is one)
    Describe potential impact on other areas of the code: Various "Save / Save All / Discard / Cancel" dialogs
    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/A
    Did you modify any pom.xml file? If yes, did you thoroughly document your changes and reasons? N