Fixes #471 - raise ValueError instead of implicitly casting values to strings

It's not always possible to deserialize an object from its str response. This makes developers aware that redis can only handle strings and they are responsible for serializing and deserializing before storing objects in redis.