"flush" event should always fire after "flush" call

If nothing to flush, there will be no "flush" event from native stream.
Thus, the "open" event will never be fired, see `_createStream.createAndFlush` function, line 436 of [file.js](https://github.com/flatiron/winston/blob/master/lib/winston/transports/file.js).
That means, `self.opening` will never set to false and no logs will be ever written to disk.

To prevent this from happening, we will always fire "flush" event despite there are anything to flush or not.