: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.
Can we create a specific exception class with a descriptive name? `FileContentStagingError` or whatever?