code: function fsReaddir(path, cb) {
      if (path === '/') return cb(new Error('Reading filesystem at / is disallowed to prevent mistakes.'));
      fs.readdir(path, function(err, dir) { if (err) return cb(err);
        var ab = asyncbuilder(cb);
        u.each(dir, function(name) {
          var push = ab.asyncAppend();
          fs.stat(u.join(path, name), function(err, stats) {
            var entry = !err && { name:name, type:(stats.isDirectory() ? 'dir' : stats.isFile() ? 'file' : 'other') };
            push(err, entry);
          });
        });
        ab.complete();
      });
    }
docs: fs fsReaddir returns array of {name:, type:} entries for the directory at path