: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.
I'm leaning towards SystemCallError here to be extra careful in case one gets some sort of mount related error when a separate disk is being used for /tmp.