Make cron provider work when Chef is run as non-root user.

Also, move it onto Chef::Mixin::ShellOut.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
So the problem here is that this is strictly debian where exit 1 is used for an empty crontab.  On RHEL, exit 1 seems to infrequently occur during a hiccup even though we have a crontab file, so we behave like we don't have a crontab and we incorrectly add a duplicate:  https://tickets.opscode.com/browse/CHEF-1377   We should at least document that failure case correctly here.