add cache for module

In a large project  developed with node.Js, some modulex are used frequently, let's say ```underscore``` or ```lodash```,  module A is depended on it,and module B is  depended on it too, and they are depended on the same version. So module ```underscore``` is loaded twice , right?  and that may cost more memory, so why don't we set the cache for the same module with the same version. Thanks!