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>
modifying the `@new_resource` is verboten and tends to cause all kinds of issues with reporting and minitest-chef-handler (which uses load_current_resource as an API instead of having its own matchers, etc).  if you need to mutate things that needs to hang off state off the provider.