(maint) Use real types and providers to exercise post_resource_eval

Previously, the spec tests were using the `user` type to test
post_resource_eval, but this has the side-effect of enumerating all of
the users on the system. On Mac OSX, this takes upwards of 4 seconds due
to parsing plist info.

This commit adds two new test-specific providers, which override the
`post_resource_eval` method, like a real type would do.
(maint) Use transaction_with_resource helpers to build up catalog and transaction

Cleanup the test to reuse the helpers that build up the catalog and
transaction. Eliminate instance variables of the form `@transaction` as
these can and should be local to the rspec example.
Merge branch 'maint/master/transaction_spec'

* maint/master/transaction_spec:
  (maint) Use transaction_with_resource helpers to build up catalog and transaction
  (maint) Use real types and providers to exercise post_resource_eval