Added base path support

Currently the plugin adds relative paths to the manifest file. Say I do the following,

```javascript
return gulp.src("public/s/**/*"])
          .pipe(appcache(options))
```

All, the file paths in the manifest file won't have "public/s/".

Say "public" is the folder which I serve, and not "public/s". Then the generated manifest file won't work for my configuration. If I can specify `options.basePath` as `public`, then this problem can easily be avoided, and it'll fit all use cases including mine.

The naming is similar to the `grunt-contrib-manifest` plugin.

Note that this pull request changes the behavior of the plugin.