`around` context callback

This method is designed to run before and after the test runs.  It
should expect a block argument and should call the block at some
point to ensure the test runs.

This is designed to be used with things that need to run blocks
manually - things like:
* `File.open do`
* `Benchmark.new do`
* `Transaction.new do`
etc.

Closes #157.

@jcredding ready for review.