add stall detector
The Margo progress engine won't work well unless it is making timely calls to Mercury progress and trigger functions. We need a way to be able to detect "stalls" if this doesn't happen for some reason (e.g., because of thread scheduling or a software bug).
Likely something that we should integrate with MDCS.