cron module: bug fixes and enhancements.

Bugs:
(1) no longer allow empty jobs which would result in 'none' added to the crontab
(2) strip the header added by crontab package used in openSuSE and SuSE. Header would be repeated each time the module ran 'crontab -l' and installed the new crontab.
(3) try not to leak temp files when things go wrong
(4) issue returning job names under certain conditions

Enhancements:
(1) Allow all special times not just reboot.
(2) Fail earlier by performing more input validation
(3) Add feature to allow removing cron file under /etc/cron.d

ToDo:
(1) Validate times (minute, hour, ...)
(2) Strip white space from fields such as name and job such that name=foo equals name=' foo'.
(3) More testing