Added ability to create custom extended ProtocolProcessors and WebSocket clients

In some scenarios it is neccesary to create an extended WebSocket and ProtocolProcessor, e.g. to add certain steps to the handshake (for an example see: https://github.com/Atmosphere/WebSocket4Net/tree/AtmosphereFrameworkSupport).
With the current version of WebSocket4Net this requires either modifications to the existing framework code (as seen in the example) or at least modification of the WebSocket4Net assembly (when using partial classes).
I made some modifications so an extended WebSocket and ProtocolProcessor can be created _outside_ the WebSocket4Net assembly and have (protected) access to the required attributes. This is just a proposal, but it would make the creation of custom extension (e.g. for the Atmosphere protocol) a lot easier.