Custom logger: Fix defaulting + blank-fix

Before the logger.log method was used when the given custom logger does not support the log-level. This actually does not work and breaks when executed, because the log-function seems to expect a this-context when being executed (All calls are internally wrapped to [this](https://github.com/flatiron/winston/blob/master/lib/winston/common.js#L43)). 

Also, blank defaulting was missing, which leads to a crash, even when using a simple console logger as custom logger:

```js
var customLogger = new winston.Logger({
    transports: [
        new winston.transports.Console({ level: 'silly' })
    ]
});
```