Concurrency bugfix for DataMapperFactory

* concurrency fix for DataMapperFactory for the case of assigning
  a data mapper for non-default types (such as a custom enum)
hmmm... do you think it is safe to lock on 'this'? Wouldn't a private readonly object be better?