Synchronize mappings on the sharedMappings object instead of the class.

Using the class isn't correct because different NSManagedObject subclasses would use different locks. While each class has separate mappings, the mappings are cached in a shared, global mapping dictionary that could become corrupted if it is modified concurrently.