Fix implementation for hash tags extraction from keys.

We now fully comply with the specifications defined by Redis.
Use redis-cluster rules for empty key tags for client-side sharding.

This commit represents a breaking change when the first occurrence of
"{}" is found in a key because it will produce a different hash than
previous versions of Predis, thus leading to a different partitioning.

If you really need to stick with the old behavior, you can subclass
Predis\Cluster\PredisStrategy and override extractKeyTag() using the
old implementation of this method and pass the strategy instance when
initializing the cluster connection via client options.