Fix from previous PR. Pass file contents to Buffer.

PR (https://github.com/tracker1/gulp-header/pull/3) has broken the current node version's ability to process Buffers.  My specific use case of gulp-headers is as a transitive dependency of the gulp-angular-templatecache plugin.  This PR should fix the issue by conditionally doing work based on input being a stream vs buffer.  The code is pretty much taken verbatim from Gulp's plugin documentation found here:
https://github.com/gulpjs/gulp/blob/master/docs/writing-a-plugin/README.md

The following is a trace of the error produced in current version of gulp-header:
It fails because gulp-header passes a Stream to Buffer.concat.

```
      file.contents = Buffer.concat([
        new Buffer(gutil.template(headerText, extend({file : file}, data))),
        contents // This is not always a Buffer and should be.
      ]);
```
Stacktrace
```
stream.js:94
      throw er; // Unhandled stream error in pipe.
            ^
TypeError: Object $templateCache.put("components/server-errors/server-errors.html","<div><div ng-if=\"hasErrors()\" class=\"message message-error slide-animation\"><strong>Please correct the following errors:</strong><ul><li ng-repeat=\"error in errors.fieldErrors\">{{error.message}}</li><li ng-repeat=\"error in errors.objectErrors\">{{error.message}}</li></ul></div></div>"); has no method 'copy'
    at Function.Buffer.concat (buffer.js:499:9)
    at /Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/gulp-angular-templatecache/node_modules/gulp-header/index.js:13:30
    at Stream.<anonymous> (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/event-stream/index.js:298:20)
    at _end (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/event-stream/node_modules/through/index.js:65:9)
    at Stream.stream.end (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/event-stream/node_modules/through/index.js:74:5)
    at File.pipe (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/gulp-util/node_modules/vinyl/index.js:67:14)
    at /Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/gulp-angular-templatecache/node_modules/gulp-header/index.js:11:10
    at wrappedMapper (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/event-stream/node_modules/map-stream/index.js:84:19)
    at Stream.stream.write (/Users/jblaisdell/Git/bloomhealth/webapps/nexus/node_modules/event-stream/node_modules/map-stream/index.js:96:21)
    at Stream.ondata (stream.js:51:26)
```
utf8 is default, but no problem being explicit here. :-)