Implement extended set options added in Redis 2.6.12.

SPECS :
- http://redis.io/commands/set
- https://github.com/antirez/redis/issues/931

Some Notes
- When combined with nx/xx options, `set` command can return nil.
- test cases are ported from Redis' .

Feedbacks welcomed.