program: new class with just file name to start

the new program class will hold all of the program units of the program
(though for now there is only the main program unit), but to start only
the program file name (current program) was moved into this class with
the associated access functions; the save and restore of the current
program file path setting was also moved to this class