[knewfilemenu] Split code into multiple job classes
KNewFileMenu has several rather distinct code paths for different types of files
All of those are in the main KNewFileMenu(Private) class.
Some members are only relevant for some of the codepaths.
By extracting some of the code in separate classes we can improve the logical grouping of the code