Normalizing naming and the usage of the interop library

This change effectively merges the socket objects and applies a uniform "Nanomsg" class name prefix.

Notable points:  

EINTR handling.  Martin has a fair amount about this on his blog:

http://250bpm.com/blog:12

It seems like the usage of this is limited to Ctrl-C on console applications.  I currently have adopted the more conservative route of immediately re-attempting the call (a limited number of times).  If only non-Windows console apps will be producing this error code then I'd be fine with just translating it directly into an exception.

I added a symbol class, which reads out the values defined by the native library.  Many of these already exist as constants and enums; it would be best to validate that that the static values match those reported by the native library, in order to check that the versions match.