Partial fix to #3

* Removed useless interface
* Using C++ casts
* Using references instead of raw pointers
* NPAddrInfo has gained useful features instead of just being a
imitation of the POD addr_info