Redmine #5339: Fix available patches list being empty.

It happens because cf-agent -f update.cf contains a package promise
which uses an empty package_patch_list_command. The list is then
created as empty, and when cf-agent -f promises.cf comes around, the
file already exists with a recent timestamp, and therefore
regenerating it is not attempted.

Fixed by not writing the file if package_list_command or
package_patch_list_command is empty for software_packages.csv and
software_patches_avail.csv, respectively.