Implemented ZMTP/2.0

Since my ZMTP/2.0 implementation has moved a bit back and forth, and the branch contained a lot of crappy work-in-progress commits this is a squashed version.

Please note that this change updates the API. Instead of setting up a pair of ZMTPFraming{Encoder|Decoder} instances you set up either a ZMTP10Codec or a ZMTP20Codec depending on which version you want.