added more command types to the CommandFactory interface, and made sure they all return *Command
implemented most of CommandFactory for redis, just need transaction
Command is now an interface, which will help when doing transactions
implemented transactions for redis