Support resolving when local path has no extension

Many times when requiring a local file the extension is dropped:

```javascript
foo = require('foo');
```

Within node, the <code>require.resolve</code> method will look for extensions other than just <code>.js</code>. Having the same feature would be ideal, especially in use with <code>browserify</code>. The <code>resolve</code> module that <code>node-browser-resolve</code> relies on already supports having extensions, so it is simply a matter of passing them on.

I decided to add an optional options parameter to the <code>resolve</code> which right now only has supporters an <code>extensions</code> option. It is an array of extension strings. So to support resolving of <code>.coffee</code> in addition to <code>.js</code>, you do the following.

```javascript
resolve('./bar', parent, { extensions: ['.js', '.coffee'] }, function(err, path) {
  // handle path
});
```

As mentioned the options are NOT required. You can call <code>resolve</code> without it and it will still resolve it to a <code>.js</code:

```javascript
resolve('./bar', parent, function(err, path) {
  // handle path
});
```

I also considered adding an <code>.extensions</code> property to the <code>resolve</code> method, to mimic the global <code>require.extensions</code> available in node. But 1.) the latter is a mapping of extensions to compilation functions which is outside the scope of this module, and 2.) all other modules in the <code>browserify</code> stack rightly avoid globals.