Wrap socket type with a class instead of a function.

By wrapping the `socket.socket` type with a function, we've been emulating only the wrapped type's constructor and not the wrapped type itself. This won't work if we wish to enable long polling for SOCKS connections with the SocksiPy library as this library imports and attempts to construct a class that inherits from the `socket.socket` type.

Original wrapper function was added in 6cf0bc72ae31d2a18e5a8f929c700440e33f98ac, but the issue this pull request attempts to address was triggered by a change in module import order in a5ab744770e877dad32cc40fa1f21e7c6daf3970, where SocksiPy wraps poclbm's own socket wrapper, where before it had been wrapping the system-provided socket type. This pull request addresses m0mchil/poclbm#56.  If we don't need long polling on SOCKS, live-mining/poclbm@ce05212c53a30386da94a5aebd1d581d5421a354 is also a fix for the immediate issue described in issue 56.