Added some error reporting (stream emit) to publisher.publish

Not sure if this is where you would have taken it, but perhaps it's a good start and can be refactored?

I've only tackled publiser.publish at this point.

I initially had some error inspection on each client.headFile request, but I decided to take that out. I'm pretty sure a 404 would be normal if the actual file being published doesn't actually exist yet within the S3 bucket.

I also added the 'error' state to file.s3.state, which is new. I'm not sure how this affect things downstream, you'd know better than I. It outputs error to console quite okay though, which is useful.

I've been using gulp-plumber and it's working quite well.