SQUASH "OSD: add a RWLock pg_map_lock"

grab the pg lock under the pg_map_lock in _open_lock_pg()
pg_map_lock orders above individual PG locks, so we can't lock the PG
before insertion into the pg_map. Grab the PG lock second.

Signed-off-by: Greg Farnum <greg@inktank.com>
SQUASH "OSD: add a RWLock pg_map_lock"

Push the responsibility for grabbing the pg_map_lock up to the callers of
_remove_pg(), because the atomicity requirements of other systems prevent
us dropping the PG lock.

Signed-off-by: Greg Farnum <greg@inktank.com>
FIXUP "SQUASH msgr: use fast_dispatch in Pipe::DelayedDelivery::flush()"

And drop the delay_lock when doing fast dispatch, d'oh...

Signed-off-by: Greg Farnum <greg@inktank.com>