Add posibility to change dispatcher

On my side I have a Hazelcast cluster which implements memcached protocol on frontends. I want to create a simple failover dispatcher for mcd. So I need a possibility to replace default dispatcher (dht_ring) to an external one. This patch implements such possibility. Now one can set an external dispatcher by third parameter of  start_link/3. The patch doesn't break the old API and behavior.