implemented the open recent program menu

the program now maintains a list of recently loaded programs and
presents this list in the new Open Recent menu added below the Open
menu item and also contains a separator and a Clear Recent List menu
item for clearing the list

implemented the new RecentFiles class for maintaining this recent
program list and open recent sub-menu including adding programs to the
list (when opened or saved as), clearing the list, and restoring and
saving the list and count from and to the application settings

this commit also contains two new icons for the open recent menu and
clear list menu item (the recent programs are given the file open icon)
and some minor source file formatting was corrected in mainwinow.cpp