Fix validation bug in ProgramEntry.
Tweak EditProgramWindow functionality.

Made the AddNewProgramWindow class obsolete by making EditProgramWindow
take an optionally null string as input, signaling that it's a new
program. I've deleted AddNewProgramWindow.

Also did some cleanup of EditProgramWindow and adjusted BackupPage's
references to it to match the new code.