mds: extract beacon state from MDS lock

For clarity, give it its own class for the
state protected by the separate lock too.

Fixes: #9152

Signed-off-by: John Spray <john.spray@redhat.com>