Use keyword arguments to connect rather than a connection string

This allows arguments to be omitted and the default used, as well as allowing connecting via a local socket