lib/cockpit-components-dialog: Allow dynamic setting of cancel handler
lib/cockpit-components-dialog: Allow dynamic setting of cancel handler

The cancel handler can now also be handed in via a progress report on
the action promise.

In addition, the Cancel button itself now is only enabled during an
action when there is a cancel handler.

cockpit-project/cockpit,garrett/cockpit,SotolitoLabs/cockpit,mareklibra/cockpit,cockpituous/cockpit,andreasn/cockpit,moraleslazaro/cockpit,andreasn/cockpit,mareklibra/cockpit,SotolitoLabs/cockpit,martinpitt/cockpit,stefwalter/cockpit,SotolitoLabs/cockpit,cockpituous/cockpit,cockpit-project/cockpit,garrett/cockpit,SotolitoLabs/cockpit,moraleslazaro/cockpit,moraleslazaro/cockpit,moraleslazaro/cockpit,mvollmer/cockpit,moraleslazaro/cockpit,moraleslazaro/cockpit,mvollmer/cockpit,andreasn/cockpit,mvollmer/cockpit,mareklibra/cockpit,martinpitt/cockpit,garrett/cockpit,moraleslazaro/cockpit,martinpitt/cockpit,mvollmer/cockpit,SotolitoLabs/cockpit,SotolitoLabs/cockpit,mareklibra/cockpit,deryni/cockpit,cockpituous/cockpit,deryni/cockpit,cockpituous/cockpit,deryni/cockpit,stefwalter/cockpit,stefwalter/cockpit,martinpitt/cockpit,mareklibra/cockpit,garrett/cockpit,deryni/cockpit,mareklibra/cockpit,garrett/cockpit,andreasn/cockpit,andreasn/cockpit,andreasn/cockpit,SotolitoLabs/cockpit,stefwalter/cockpit,cockpituous/cockpit,deryni/cockpit,cockpit-project/cockpit,cockpituous/cockpit,mvollmer/cockpit,deryni/cockpit,cockpit-project/cockpit,stefwalter/cockpit,martinpitt/cockpit,cockpit-project/cockpit,stefwalter/cockpit,andreasn/cockpit,deryni/cockpit,mareklibra/cockpit,stefwalter/cockpit