lock in redis session

Optional lock in redis sessions

RedisClient accepts one more optional parameter, with_lock, that defaults to False

Also a minor optimization, mainly to minimize network round trips when executing a set of redis commands.