Add supported OSes list to API.

Also add method for validating insertion methods like AddProgramEntry
and EditProgramEntry.
Add validation to add and edit methods.
Fix tests to reflect restricted set of OSes.
Add new tests for validation.