Remove redundant validation and don't return null lists.

Lots of validation that used to be in the API is now in ProgramEntry,
which allowed for the elimination of it here. Also updated
List-returning methods to return an empty list rather than null list on
error.