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'))
});
```
When using this to generate a sourcemap we need to set the base for the sources to have the correct relative paths. Without it, the sources list in the sourcemap will only contain the filename without any path info. 
In other words, now the src glob has absolute urls:
/path/to/app/compA/file1.js
/path/to/app/compB/file2.js
Resulting in sourcemapping:
file1.js, file2.js
Where I want:
compA/file1.js
compB/file2.js

Setting the base property in the glob fixes that.