Cleaner 'metaclass' implementation

Instead of creating a class and then denying its use as a class (ie with 'new'),
and copying a prototype to make it appear that a dynamically made class is
actually that outer class, simply rename SOCKS5->SOCKS5WebSocket and instead
write a partial-evaluation syntactic-sugar which is exposed as the only public API.

No external API had to changed for this commit, which is pretty sexy.
Comments