Clean up the extension unit tests and prevent state leakage.
Review Request #8706 — Created Feb. 2, 2017 and submitted — Latest diff uploaded
The extension unit test suite is pretty old at this point and a bit hard to work with, due to the hacks that were in place to register extensions. Since these were pretty ugly, we often reused the same objects and classes across many tests, and then just bolted things onto the instances. This may have led to some state leaks, and overall wasn't nice to work with for new tests. This change updates the test suites to construct their own extensions within the test bodies and to utilize a new mixin class for setting up the extension and extension manager. This means we have a fresh class and instance for each test, and makes it easier to create more specialized versions of the classes. This is a precursor to a new set of unit tests coming in for extensions.
Unit tests pass.