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'))
});
```
{base: file.base} option breaks the tests. if we remove the option, tests will pass. I do not have enough time to deal with it.