(QENG-840) Replace puppet.conf after stopping master

A webrick master watches the puppet.conf file and will try to reload and 
reapply the settings catalog when it changes. The with_puppet_running_on 
method gets into a race with this behavior, plus bug PUP-2834, because it
puts the backed up puppet.conf back into place *before* trying to shut down
the master process. This caused the master to periodically read the new
configuration, fail in applying it, crash, and then beaker would try to kill
the process. The process was already dead and the kill command ends up
failing. This then causes the test to fail.

This changes it so that for webrick masters, the backed up file isn't moved
back into place until *after* the master has been shut down. Since rack
masters don't ever try to reread the config file, this doesn't affect them.
Also, in the rack case, the file needs to be moved into place *before* the
master is stopped since it is actually fully restarted.
The keys used in `options/presents.rb` are all symbols and use underscores, which is quite different from what is here. What is the key that should be used there? I checked the `OptionsHash` implementation and it doesn't seem to do any `-` to `_` translation. It does translate strings to symboles and vice-versa, but that still leaves the underscore problem.