smtp_client per-domain routes

* smtp_client: made timeout handling more robust
    * renamed 'self' -> 'client', which is more descriptive
* instead of passing smtp_forward.ini or smtp_proxy.ini, pass in their [main] section. Less unpacking to do in smtp_client and it also permits more specific forward routes.
* smtp_forward: when rcpt_to.length=1, use more specific routes if defined