DNM: librados: fix watch/notify event flushing

We have some occasional crashes in QA that are due to notify callbacks that are
still running when teh IoCtx gets shut down.  This series adds a flush that lets
them make sure they are completed before shutting down.

I originally took a different appraoch and tried to do this in the unwatch() request
itself.  I'm not sure that's the best path though because it may be that we want
to call unwatch in a context where it is not a good idea to block (on a user
callback needing to complete).

I like this better, but now it occurs to me that RBD as a user may not find a global
"flush all callbacks for this librados clietn" call to be as useful.. perhaps we want
to flush just one image's callbacks when we close the image.  @jdurgin, what do you
think?
Minor: RadosClient::watch_flush has a return value (always zero).  Should this function (and rados_watch_flush) return that value or should RadosCLient::watch_flush return void?