@abc.abstractmethod<EOL><INDENT>@asyncio.coroutine<EOL>def initiate(self, mechanism, payload=None):<DEDENT>
Send a SASL initiation request for the given `mechanism`. Depending on
the `mechanism`, an initial `payload` *may* be given. The `payload` is
then a :class:`bytes` object which needs to be passed as initial
payload during the initiation request.

Wait for a reply by the peer and return the reply as a next-state tuple
in the format documented at :class:`SASLInterface`.