Ticket 49544 - cli release preperation
Bug Description: Improvements to the cli getting ready for user testing.
Fixes for output rendering (verbose vs normal), automatic help display,
raising assertion messages properly during setup when constraints are
violated, capturing output correctly from subcommands.
Fix Description: Improve the logging handler by wrapping a custom
setup function that can purge and reset handlers.
Add automatic help display if not action selected.
Add assert_c for compiled asserts. python removes assert in optimised
builds, and we need custom messages for the frontend anyway.
Some commands would display to stderr, capture that.
https://pagure.io/389-ds-base/issue/49544
Author: wibrown
Review by: spichugi (thanks)