Problem: Not all socket types supported by "smart" constructors.

* Added support for PUSH
* Added support for PULL
* Added support for DEALER
* Added support for ROUTER
* Added support for XPUB
* Added support for XSUB
* Added support for PAIR
* Added support for STREAM
* Fixed bug in SendMessage that kept it from handling the result of RecvMessage as a message
* Changed naming scheme for smart constructor functions because they were hard to read.