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
Remove redundant context creation
Merge pull request #670 from hoffmabc/master

Bug Fixes (single zmq context, timeout in database connection)