In the cases where we returned before calling KApplication::exec(), we
would end up leaking pointers such as |batchJob|, |window| and
|addToArchiveJob|.
Fix it by explicitly deleting |window| (since we do not have another
QWidget to make it a child of) and making |batchJob| and
|addToArchiveJob| be children of our main KApplication so that we do not
need to explicitly delete them under any circumstances.