Minor improvements

Some minor improvements before implementing connection pooling.

- Added `RedisClientSettings` for configurations in detail
- Added simple constructor not to deal with `java.net.InetSocketAddress` directly
- Changed `redisCommand.line` from `val` to `def` to reduce instance size. It is called only once in the serialization phase so we don't need to carry the result with `RedisCommand` instances everywhere.