Update bindings to ZMQ 3.2

I know this is a large set up patches, but really not that much have changed. 
To summarize the changes. 

* Update bindings to be compatible with ZMQ 3.2
* Rename Device to Proxy - That's the ZMQ term.
* Use variants for set_ and get_ options when valid values are restricted 
* Extended unit tests to cover more pieces of the code
* Remove all oasis auto generated files.

If you prefer, I can try to split the patch into three or four patches - I would just need some extra time. If you are comfortable merging it all in one pull request, it would be the easiest for me.