I implemented a couple of larger director changes today. These could still be changed a bit if somebody has any ideas.
http://hg.dovecot.org/dovecot-2.2/rev/b9df3d654710
Support for director "tags", which allow creating multiple Dovecot backend groups using a single director ring. So you can mark different backend hosts with @tag names and then have passdb lookup return the wanted tag for each user. Note that because director works using user hashes, two users with the same hash can't be in different backend groups. Use "doveadm director map -u user@domain" to see which hash is used by the user@domain.
http://hg.dovecot.org/dovecot-2.2/rev/b9df3d654710
Added director_consistent_hashing=yes setting so users don't move around much when backend servers are added/removed. Ideally at some point this setting will be removed and directors will automatically switch to it when all the directors in the ring support it.