Removed the weirdo logging facility. There's now a Debug variable which can be set which replaces the former debug log. NewClient() will return an error if something goes wrong setting up the connection.
Review all the *Client receiver methods in layer3.go. They should
probably either all be receivers, or none.
Add a Reconnect() function.
Eliminate as many uses of Generic as possible.