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>
@stevendanna agreed.

Re: (5) - we could clarify this in the documentation that user has to be set explicitly. The side effect might be a bit of a confusing error message - default user is "root" (set in the resource), so when we fail it will say in the user was root (in the backtrace; even though the `-u` was not added to the arguments passed down to `crontab`).