Don't allow null values in ProgramEntry.

Along with this, we're standardizing on returning empty lists rather
than null lists. More of our code needs updated to meet this new
standard.
Merge branch 'master' of github.com:PlanetLotus/Settings-Recall