Added caching to data mappers, which can be hooked into from data mapper reads or from the post-commit hook in a unit of work, updated tests/mocks