Fix a couple of bugs uncovered by the Clang static analyzer

I ran the [Clang static analyzer](http://clang-analyzer.llvm.org/) on a project I'm working on that uses hiredis and it found a couple of bugs.

There were three warnings, of which two are definitely legit. I have fixed these in the commits below.

The one warning I wasn't sure about was this one:

```
async.c:447:19: warning: The left operand of '!=' is a garbage value
        if (cb.fn != NULL) {
            ~~~~~ ^
```

This is in [redisProcessCallbacks](https://github.com/redis/hiredis/blob/master/async.c#L387) and it looks like it's triggerable when `redisGetReply` returns `REDIS_OK` but doesn't set `reply` to anything. I'm not familiar enough with the code to determine if this is possible though.