Allow custom teardown/setup per module through Qunit.newMwEnvironment
- Instead of having newMwEnvironment only create an object with
setup() and teardown() that is passed to module() which uses them.
Also allow a module test to pass additional setup/teardown to run.
Otherwise one would have to extend newMwEnvironment, this is
simpler.
- Also added a few unit tests of the test runner's newMwEnvironment
method itself. (also serves as document/example for how to use it)
- This changes the signature of QUnit.newMwEnvironment. Was only
used in 2 places in core. Adding release notes just in case.
- Needed to fix a unit test breakage in mw.Uri
Change-Id: I2c17f4a309208276ab7bd2420b720c0d8e4bf328