Add a method to confine hosts for a specific test block

The Beaker::DSL::Helpers#confine method would change the test's array of
hosts at the point it was called, and any subsequent tests or tear down
blocks would only operate on that restricted subset of hosts.

This patch adds a confine_block method which allows you to confine hosts
for a specific block of code, ensuring that the hosts array is reset to
its original value after the block is done.  This allows you to confine
a subset of a test, but still have a teardown clean up all hosts, for
example.