DNM: Wip fast dispatch

This branch adds an ms_fast_dispatch interface to the Messenger/Dispatcher, designed so that you can dispatch messages directly from the Pipe threads without going through the Dispatch queue.
It also sets the OSD to make use of this interface for most operations, and switches to finer-grained locking and use of local data in a bunch of different paths to enable that.

This branch has been thoroughly tested by way of the rados suite. Its most recent attempt at a full run revealed some issues in the thrashing delayed delivery tests, but was otherwise clean except for a small handful of bugs known to exist in master. I resolved those issues (messenger delayed delivery races) and ran it through the rados thrash suite again. This time it was clean, except again for a small handful of known bugs from master. It's as ready as I can get it without code review, so poke away! :)

(It still shouldn't be merged before we have a separate Firefly branch.)