Add function to create zctx shadow from plain ZMQ context

This adds a method to create a zctx_t from a raw ZeroMQ context. I think this is valuable for environments where CZMQ and raw ZMQ are mixed. Currently you have to use zctx all over the place (a lot of unneccessary objects).

It also includes an added *assert(ctx);* in zctx_shadow(), for increased safety.