(maint) Guard preserve_configuration in acceptance

It is only useful to attempt to generate a local preserved_config.yml if
you are manually testing and may need to re-run.  Automated tools such
as Jenkins have tripped over this step if the logs or layout are
different, and there is no reason to abort a test run for this step.

This commit changes the behavior of the acceptance harness so that it
only preserves the configuration if you are running the manual
'test_and_preserve_hosts' task, or if you have specified you want this
behavior in your local_options.rb.  It is also a little more resilient
for failures when preserving the configuration.
Merge pull request #2948 from jpartlow/maint/master/only-preserve-config-for-local-acceptance-runs

(maint) Guard preserve_configuration in acceptance