Support an array of directories in `opts.moduleDirectory`

This is unlikely to be useful for node. 

When using `node-resolve` on luvit modules, though, this feature would be very helpful, as it's common in luvit to keep modules in "modules", "lua_modules", and "node_modules" (there are at least three different approaches to luvit package management). `opts.moduleDirectory` can still be a string so the interface is preserved. This change would let us pass an array also.