All callbacks setup, cleanup, and tests now support second $shared argument.

This argument can be used to store shared data.  This might include any of the
following:

- instances for testing instantiated in setup
- mimes used for testing
- new data created by tests that might be useful in other tests