Establish direct connections for indirect routes.

(incomplete commit)

This change changes the behavior of the BASP broker when encountering
indirect routes, i.e., routes for which no direct connections exist.
If the BASP broker now encounters an indrect route, it will attempt to
establish a direct connection to the remote node.

Further changes:

  - The connection context now owns the client_handshake_data. It used
    to have a non-owning pointer, but since the BASP broker itself now
    also inserts a client handshake data and must not block at the same
    time, the data needs to live in the broker itself. This change also
    concerns io::remote_actor().

  - Fix a typo in init_handshake_as_se[r]ver().

  - Elevate some INFO log levels to ERROR in cases where an error
    occurred.