DATAMONGO-830 - NPE during cache warmup in CustomConversions.

We now use a CHM to cache the results of custom read target lookups in order to avoid having to traverse the readingPairs for every lookup. The use of should CHM also prevent potentially NPEs from being thrown if custom conversions are initialised in heavily threaded environments.

Original pull request: #117