Add test for suite level patch restoration.

Add test to check that when a test value is patched in
it's value is restored to the previous value on test
tear down.

https://bugs.launchpad.net/juju-core/+bug/1308101
It seems odd to have a suite call its own setup and teardown functions to do the assertions, rather than creating a different suite for testing.
However, it does seem to be the pattern in this file that everything is done against itself, rather than on a separate object that we are observing.