Changed order of operations in setError() so that the underlying error is reported.
Review all the *Client receiver methods in layer3.go. They shouldprobably either all be receivers, or none.Add a Reconnect() function.Eliminate as many uses of Generic as possible.