title: cursor_factory=None raises an exception
body: <p>I wrapped my <code>psycopg2</code> connection in <code>DB</code> class, and one of the methods is to fetch a cursor. I also added a <code>cursor_factory</code> to its parameters, but when using <code>None</code> as default value, it raises an error.</p>
  
  <pre><code>class DB:
  
      ... connection code and other stuff ...
  
      def fetchcursor(self, query, params, in_cursor_factory=None):
          cur = self.conn.cursor(cursor_factory=in_cursor_factory)
          cur.execute(query, params)
          return cur
  
  db = DB()
  db.fetchcursor("SELECT * FROM foo", None)
  </code></pre>
  
  <p>The error I get is:</p>
  
  <pre><code>TypeError: 'NoneType' object is not callable
  </code></pre>
  
  <p>When I replace <code>None</code> with <code>psycopg2.extras.DictCursor</code> it works. I want to use <code>None</code> as the default, just as the <a href="http://initd.org/psycopg/docs/connection.html" rel="nofollow">documentation</a> says:</p>
  
  <pre><code>cursor(name=None, cursor_factory=None, scrollable=None, withhold=False)
  </code></pre>