bus: implement support for FD passing
bus: properly handle termination of connections
bus: make optional whether unix socket passing is negotiated and whether hello is sent

This alos gets rid of explicit sd_open_fd() and sd_open_address()
constructors in favour of sd_new() + sd_new_start() where the
negotiation parameters may be set it in between.
bus: implement 'unixexec:' protocol