allow creation of sockets from explicit handlers

and make _handle property available on both ctx and socket
add shadow support

- expose underlying address as ctx/socket.underlying
- add `Context.shadow(address)` and `Socket.shadow(address)`
add Context.shadow_pyczmq

rather than zmq.utils.interop functions
test shadowing pyczmq objects
Merge pull request #488 from minrk/pointers

allow creation of sockets from underlying objects