This adds a Uri connection type. Currently the Address type is oriented around servers wanting to listen on a listen address of some kind. By adding a Uri type which includes a scheme, the Address type can also be adapted for clients wanting to connect to a server, whether it be over unix socket or via tcp.