inst.reason isn't alway in the form (errno, strerror)
urllib2.urlopen("foobar://foo") is an example
where inst.reason is a string
fix issue383
% init
% commit
adding base
% qnew mqbase
% qrefresh
% qdiff
diff -r 67e992f2c4f3 base
--- a/base
+++ b/base
@@ -1,1 +1,1 @@ base
-base
+patched
% qdiff dirname
diff -r 67e992f2c4f3 base
--- a/base
+++ b/base
@@ -1,1 +1,1 @@ base
-base
+patched