pybind: Some fixes on semantics

I guess I would want to see how all the clients must change to be able to still gracefully interrupt in-progress calls.  I understand the potential conflict with threaded python apps; I think perhaps a better way to handle this might be to make the librados calls all have asynchronous versions (including things like connect and get_ioctx) so that delays will not stall the caller.  This is a bit of added complexity in the C and Python sides, but we already support aio, so we have some mechanism, and this avoids Python managing threads without breaking existing naive Python clients