Numerous changes to update testing gems.

This work updates a number of Gems to the latest versions (rspec,
rspec-puppet), and updates and tweaks a bunch of tests to work
with the updated gems.

[Mashed the master changed into this branch.  Had to delete a few tests for things that were added in 4.x, but it's fundamentally the same stuff].