Abstract security mechanism
Implement ZMTP/3.0 PLAIN mechanism

This implements protocol handshake.
We still need to design and implement 1) API changes so a user
can set username and password, and 2) a mechanism for engine
to authenticate users.
Merge pull request #554 from hurtonm/master

Implement ZMTP/3.0 PLAIN mechanism