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>
We have a tendency to be exceedingly cautious about anything which smells like a breaking change.   However, I can't offhand think of a rational way changing the user default would be breaking since running as a non-root user and trying to manage root's crontab is generally going to fail anyway.  That should probably be initialized to nil which would carry the meaning of 'update the crontab of the user that is currently running chef'.

However, we've gotten burned in the past by breaking changes completely out of left field, e.g.:

  https://tickets.opscode.com/browse/CHEF-5016