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.
package sasl
import (
	"bytes"
	"errors"
)
const Plain = "PLAIN"
type plainClient struct {
	Identity string
	Username string
	Password string
}
func (a *plainClient) Start() (mech string, ir []byte, err error) {
	mech = "PLAIN"
	ir = []byte(a.Identity + "\x00" + a.Username + "\x00" + a.Password)
	return
}
func (a *plainClient) Next(challenge []byte) (response []byte, err error) {
	return nil, ErrUnexpectedServerChallenge
}