(maint) Ensure Beaker failure bubbles up through Rake

When running Beaker from our acceptance Rake tasks, exceptions from the
shell for a failed test run were being lost.  The Rake sh() helper does
not raise an exception for non-zero exit codes if you pass it a block to
inspect the process results.

This commit passes no block to the sh() helper so that failed beaker
runs will raise an exception, causing Rake to exit non-zero.  The code
to preserve_configuration for re-runs is simplified as well so that we
always generate a preserved_config.yaml unless we are currently running
with one.