mon: OSDMonitor: check if pool is on unmanaged snaps mode on mk/rmsnap

Backport: dumpling
Fixes: #6047

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
mon: OSDMonitor: don't propose on prepare_pool_op()

Except in very special cases, we should let PaxosService take its course
and trigger the proposals itself.  In this case, we were proposing right
before returning to PaxosService, and we were returning false on top of it
(most likely to guarantee that PaxosService wouldn't try to propose).

This doesn't make much sense, so let's do it like all the other cool kids
are doing and let PaxosService decide what's best for us.

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
mon: OSDMonitor: return earlier on no-ops over currently committed state

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
qa: workunits: mon: test snaps ops using rbd.

Regression test for #6047

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
rbd.cc: propagate some errors to user-space when they're available

There was a bunch of situations in which we would have a proper error to
propagate to user-space but we would always return '1' (EXIT_FAILURE).

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>