Fix getcomments() so that it doesn't fail with TypeErrors.

It appears that getcomments() can get called for classes defined in
C.  Since these don't have source code, it can't do anything useful.
A function buried many levels deep was raising a TypeError that was
not caught.

Who knows why this broke...
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 175f5d6..2b28d8e 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -416,9 +416,14 @@
     raise IOError, 'could not find code object'
 
 def getcomments(object):
-    """Get lines of comments immediately preceding an object's source code."""
-    try: lines, lnum = findsource(object)
-    except IOError: return None
+    """Get lines of comments immediately preceding an object's source code.
+
+    Returns None when source can't be found.
+    """
+    try:
+        lines, lnum = findsource(object)
+    except (IOError, TypeError):
+        return None
 
     if ismodule(object):
         # Look for a comment block at the top of the file.