This replaces use of CephChoices for cases like
--yes-i-really-really-mean-it.
It's a relatively invasive change, because both
client and server need to handle backward compatibility:
- Clients are easy, they just cope with the server's
use of CephChoices/CephString with a few special case
strings to recognise --yes-i-really-mean-it and similar
- Servers are harder, they have to convert CephBool arguments
into a similar CephChoices argument that older clients will
understand. This involves propagating feature flags into
some code paths that couldn't see them before.