Make the djangotestrunner.XMLTestRunner subclass-friendly.

It seems that the calls to `setup_test_environment()` and `teardown_test_environment()` in `XMLTestRunner.run_tests()` are designed to bypass the `unittest` stuff in `DjangoTestSuiteRunner`. This makes it awkward to subclass `XMLTestRunner` (which I have needed to do) and difficult to alter the environment setup procedure.

This commit fixes all that while still allowing `XMLTestRunner` to effectively avoid the `unittest` cruft.