Don't perform unicode encoding/decoding if charset is None.

If RedisProtocol has a charset set to None, it shouldn't try to decode received
strings. When client receives binary data, sometimes it may look like
valid utf-8 (or other encoding), and in this case it can be decoded and
unicode object is returned. This causes output ambiguity and
performance impact.