Fix and strengthen AddProgramEntry test.

NUnit has different test running behavior based on whether you run one
or all tests. When running JUST the AddProgramEntry test, there were
issues with depending on the data that was already in the db. I removed
any dependency on the amount of data in the db prior to running the
test.

I also added some null checks when getting lists of programs.
Add tests for program entry retrieval.