Process and keep the first line in any response.

Added a mechanism to our RedisCluster context structure to retain
the last reply_type, single line reply, and/or integer response
which could either be the length of a BULK/MULTIBULK payload, or
an actual integer.

This makes command processing functions simpler, as we just have
to check that the reply type is correct, and for single line/int
responses, the values themselves.
SETNX/GETSET

Implemented SETNX and GETSET in a generic way for both Redis and
RedisCluster objects.