An MDS-specific assert that dumps cache state
There are a ton of places where we assert certain thing are consistent within the MDCache+MDLog+etc state. Asserting is a good thing, but we could leave more useful stuff around than a stack trace. Things like:
- an MDCache dump
- an OpTracker ops in flight dump
- a clog() message
- a message to MDSMonitor to indicate our failure so that nobody has to wait for us to go laggy
This mechanism would not replace normal assertions for things like validity of pointers or iterators, as once those are violated we can no longer safely traverse any of our internal data structures.