pushMessage should return null,[]

If pushMessage is called in async.waterfall, we should ensure that cb is called in the same way!
we cannot invokeCallback(cb) or invokeCallback(cb, null, failIds) in the same function under different situations.

``` 
async.waterfall([
        function(cb){
            globalChannel.pushMessage("hybrid", "onCHAT", message, channel, null, cb);
        },
        function(fails, cb){
            globalChannel.pushMessage("sio", "onCHAT", message, channel, null, cb);
        }],
        function(err){
        }
    );
```

If there is no hybrid connectors, the second function in waterfall will hold fails as callback and cb as undefined.