(#6962) Clean up testing further.
This refactors common code in the tests out, and takes advantage of the
implicit and explicit subject support in rspec2 to make the testing more
expressive and more efficient.
Paired-With: Matt Robinson <matt@puppetlabs.com>