Fix bug 866189: prevent Unittest errors caused by setUpClass/setUpModule...

... exceptions

When an exception is present in setUpClass or setUpModule methods for Unittest
modules, it causes an error in PyDev's PyUnit interface. The error occurs because
the file path is a property of the test variable only when running a custom test
module, not a class or module set up. Correct this error by obtaining file path
from the error output string instead.

An exception in setUpClass/Module also causes an error when trying to access the
name of the test method being called. Correct this error by creating special cases
for these setup methods.

-------------------

One more fix is coming after this. Right now, only tests that are run in the main module show up in the PyUnit view (importing another module and running its tests prints results to stdout, but aren't shown by the PyUnit view). I'm going to change things to the PyUnit view to display errors/failures in imported modules.