Working #3139 - ResourceHarness does caching
This is again about moving transactional behaviour out
of Puppet::Type and into the transactional code.
I initially moved this code into Resource::Status,
but it seemed to make more sense in the Harness - the
Status object should be thin and have no code
that doesn't make sense on both sides of the pipe,
it seemed.
The interface gets a bit uglier as a result, but this
is all about good design != good OO (because we're
increasing the argument count of methods by moving
them outside of the target class).
Signed-off-by: Luke Kanies <luke@puppetlabs.com>