Prototype

Adding scalability protocol objects, minor send/receive and enum refactors

This is the first step in specializing the socket objects for the various scalability protocols.  The next step will also involve only exposing valid operations (i.e. no Send on a Subscribe socket).