Application::delete() should retrieve the applications versions immediately prior to deleting to ensure that
an application object created prior to its child versions doesn't leave orphaned versions. Add unit test for
Application::delete() to test for the offending behavior.