module: test for directories, fixes require with ..

Given my home-directory is `/Users/rocko` - and I have a file named
`npm.json` in it and also a repository with name `npm`, which is a
folder for the node-module.

When try to require the `/Users/rocko/npm/index.js` two direcotry
levels down in the npm folder (e.g. `/Users/rocko/npm/test/tap`)
with require("../../") node will load `/Users/rocko/npm/index.json`.

When I use require("../..") node will load `/Users/rocko/npm.json`
which is fixed by this commit.

Original PR: https://github.com/joyent/node/pull/7094
wondering if I'm missing something, why is this done up here and not closer to where it's used, potentially skipping when `trailingSlash==true`?