define messages for the control channel
factor out a create function which returns a promise
return fake localhost address
make the control channel use the new types, properly incorporate connection callback into the flow, and pipe endpointinfo all the way from netclient.ts though to socks.ts
some tidy-up and comments for the connection callbacks stuff