plain.go
func NewPlainClient(identity, username, password string) Client {
	return &plainClient{identity, username, password}
}
func NewPlainClient(identity, username, password string) Client {
	return &plainClient{identity, username, password}
}
// A client implementation of the PLAIN authentication mechanism, as described
// in RFC 4616. Authorization identity may be left blank to indicate that it is
// the same as the username.