Refresh program list in BackupPage in EditProgram.

Previously the program list in BackupPage wasn't refreshed after adding
or editing a program.

Also did a good amount of code cleanup in EditProgramWindow.