This logic needs to be rewritten a bit because it's important to always call `set_destination` with the correct destination (otherwise things like the list of hops the message has taken get messed up). To do that I think we need to:

* Set `dst_connector_name` to `self.billing_inbound_connector` and the `dst_endpoint` to `default` higher up in this function if the source of the message is a transport and billing is activated.
* Add a case to `set_destination` to handle messages being sent to the billing dispatcher (i.e. having one of the two billing connectors as `dst_connector_name`).