Dial is now a package level function.
Use a single control channel to control internal goroutines.
Move constructors to the top and allow using an existing connection.
Package documentation.