adding support for eval and pubsub

PubSub commands can easily be supported in cluster by hashing against the key. If Eval refers to one and only 1 key, it can also be supported in cluster. It looks a little hacky, but works well.