1. added new options for set command (starting from redis 2.6.12)
2. added error handling capabilities through ProtocolUtilities
3. errors are now reported through promise failure