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>
@kwilczynski I did some git archeology and read the code a bit more closely.  It appears from the code that crontab returning 1 might indicate an empty crontab.  The original `load_current_resource` has:

         elsif status.exitstatus == 1
           Chef::Log.debug("Cron empty for '#{@new_resource.user}'")
           @cron_empty = true
         else
           Chef::Log.debug("Cron '#{@new_resource.name}' not found")
         end

Thus preserving this behavior makes sense.