:auto mode for :file_staging_uses_destdir

The new option `:auto` for `:file_staging_uses_destdir` tries destdir when creating tempfiles first and falls back to tmpdir when unseccesful. 

/cc: @opscode/client-engineers 

Fixes https://github.com/opscode/chef/issues/2356.
Should probably be `rescue => e` not `rescue Exception => e`.  If we have a really hard error (OOM or something) then we shouldn't suppress that with the `rescue Exception` but I don't think we care what gets raised if its under StandardError so limiting to SystemCallError seems too fussy.