SF 798269:  bug fix for doctest (sf bug id: 798254
(Contributed by Alexander Belopolsky.)

Doctest would crash when encountering unbound methods:
  class A:
    def f(self): pass

  class C(A):
    g = A.f
diff --git a/Lib/doctest.py b/Lib/doctest.py
index dcee859..cff0501 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -302,6 +302,7 @@
 
 from inspect import isclass    as _isclass
 from inspect import isfunction as _isfunction
+from inspect import ismethod as _ismethod
 from inspect import ismodule   as _ismodule
 from inspect import classify_class_attrs as _classify_class_attrs
 
@@ -930,11 +931,11 @@
                 thisname = prefix + k
                 if type(v) in _StringTypes:
                     f, t = self.runstring(v, thisname)
-                elif _isfunction(v) or _isclass(v):
+                elif _isfunction(v) or _isclass(v) or _ismethod(v):
                     f, t = self.rundoc(v, thisname)
                 else:
                     raise TypeError("Tester.run__test__: values in "
-                            "dict must be strings, functions "
+                            "dict must be strings, functions, methods, "
                             "or classes; " + `v`)
                 failures = failures + f
                 tries = tries + t