simplified restore

Instead of registering a global afterEach for each stub that needs to be restored, we'll use a single callback to iterate over all stubs since the last test was run. This should produce less noise with less code.