Save and restore indirector configuration around all tests.
One of the most persistent and troublesome parts of the Puppet codebase, in
terms of testing, is the indirector. It has significant global state in the
terminus and cache configuration, and that state was not being preserved
between tests.
Given that the runtime performance cost of doing this, other than the very
ugly code it engenders, is approximately zero (less than 0.5 percent runtime),
and it substantially improves correctness of testing...
Now we save and restore that state around every test.
Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>