mds:  Don't zap same name till tick

If unique names are configured (as they are by default)
when a new mds sends a beacon, we currently zap any mds
with the same name.  Since the new mds isn't added to the
mdsmap's up list until tick(), this causes a race where a client can
request an mdsmap with no up mds members in the map.  Instead
of zapping at beacon receive, this patch queues the zap in
prepare_beacon(), and zaps it in tick() to ensure the the
mdsmap is updated consistently with an mds gid always in the up
list for a committed mdsmap.
Fixes #4390.

Signed-off-by: Sam Lang <sam.lang@inktank.com>