title: UserDict is not considered as a dict by unittest
body: <pre><code>import unittest
  from UserDict import UserDict
  
  class MyDict(UserDict):
      def __init__(self, x):
          UserDict.__init__(self, x=x)
  
  class Test(unittest.TestCase):
      def test_dict(self):
          m = MyDict(42)
          assert {'x': 42} == m # this passes
          self.assertDictEqual({'x': 42}, m) # failure at here
  
  if __name__ == '__main__':
      unittest.main()
  </code></pre>
  
  <p>I got</p>
  
  <pre><code>AssertionError: Second argument is not a dictionary
  </code></pre>
  
  <p>Should I use the built-in <code>dict</code> as the base class, instead of <code>UserDict</code>?</p>