Multi moduleConfig support

Cache is now based on string specified in the moduleConfig paths.  Before if you did moduleConfig(["a.file"], ....) and then did moduleConfig(["b.file"],...) it was returning a.file in the second call due to the cache.