Fix infinite recursion when unpickling a mapping type instance

I noticed that unpickling mapping type instances led to infinite recursion. This happened when I tried to cache search results in Django (using `django.core.cache`).

Reproducing the problem:

    # mt is a mapping type instance
    import pickle
    pickled = pickle.dumps(mt, 2)
    unpickled = pickle.loads(pickled)

This should lead to a RuntimeError because of the infinite recursion. The fix prevents this from happening.