implement ZMTP 2.0

This implements ZMTP 2.0 support (excluding PUB/SUB at the moment), simplifies some internal details and greatly enhances the test suites to test version backward compatibility.