Add Feature: allow pass stream to each asset files before concat

hello @jonkemp, this patch allow transform assets before concat. now the syntax is like 
```$.useref.assets(opts, streamForEachAssetsBeforeConcat1, streamForEachAssetsBeforeConcat2, ...)```
Now we can allow sourceMaps for assets concat in this way: 
```javascript
gulp.task('html', ['scripts', 'styles'], function() {
  var assets = $.useref.assets({searchPath: ['.tmp/', 'src/']},
                              $.sourcemaps.init({loadMaps: true, debug: true}));  // for each asset file load and init sourceMap
  return gulp.src('src/*.html')
    .pipe(assets)
    .pipe($.sourcemaps.write('.'))
    .pipe(assets.restore())
    .pipe($.useref())
    .pipe($.revReplace())
    .pipe(gulp.dest('./dist'))
});
```
Would it be reasonable to set the base of the files to the base of file?
`var stream = vfs.src(src, {base:file.base});`

I need this to be able to get the right source values in the source-map.