Make the UserCache scalable

(Missing Feature, Closed -> Fixed, Priority: Critical, Test Status: No automated tests yet , Reported By Justin du Coeur, )
Summary: Similar to the story for IdentityCache, but a bit trickier.
The hard bit is the UpdateUser message -- there is code in UserPersistence that depends on that being actually consistent before it resolves. So this may call for, eg, a master updater that actually gets an ack of the invalidation from all shards before resolving.