Inverse fake search global var changes
Inverse fake search global var changes

Before changing global attributes this sets them to ivars on the Module
and then when the inverse `start_faking_it_again!` method is called it
resets them to the stored variables.

This is intended to stop the calling of `stop_faking_it_quite_so_much!`
and `start_faking_it_again!` to affect subsequent tests by not resetting
the universe correctly.

This code is pretty vulnerable to being run in threads, but it already
was and I don't think this makes it any worse in that regard.

alphagov/whitehall,alphagov/whitehall,alphagov/whitehall,alphagov/whitehall