Add Context.Set() and Context.Get() for options.

In 2.x this requires delaying zmq_init until the first socket creation.
Since NewContext no longer has an error value to return, error is
removed from its return types.