Merge pull request #667 from hoffmabc/master

[CRITICAL] Add version to outgoing messages
Add timeout to resolve row lock bug

Simultaneous access to a row when writing and reading will cause an exception. This allows the proces to wait until it's available and then write instead.
Create only one zmq context to reduce overhead

Creating a zmq context for each PeerConnection object is wrong and creates a massive overhead.

Move context creation to parent class