OSD: check if messages are actually handled in ms_dispatch
OSD::ms_dispatch returns "true" no matter what happens. The _dispatch() function which does the real work doesn't even provide a return value. This means that messages which aren't handled never trigger any warning.
Fix this so that it actually makes sure the message is of a type it can (and has) handled, and return false if not.