[FEATURE] Accept a :cleanup controller in Dial

- The controller specified by the :cleanup parameter is run on each outbound call just before it is cleaned up
- :cleanup_metadata, if provided, is set on the :cleanup controller. If not provided, this defaults to :confirm_metadata