Fix unexpected keyword argument in Python 3
Fix unexpected keyword argument in Python 3

socket.socket()'s undocumented last argument differs between Python 2
and 3.

In Python 2.7.10, the last argument is `_sock`.

def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0,
_sock=None):

https://hg.python.org/cpython/file/15c95b7d81dc/Lib/socket.py#l189

But in Python 3.4.3, the last argument is `fileno`.

def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0,
fileno=None):

https://hg.python.org/cpython/file/b4cbecbc0781/Lib/socket.py#l121

As socksocket uses Python 2 style, unexpected keyword argument error is
raised when socket.dup() or socket.accept() is called.

This fix uses *args and **kwargs to support both Python 2 and 3.

beermix/PySocks,dahebolangkuan/PySocks,lvh/PySocks,beermix/PySocks,gumblex/PySocks,lvh/PySocks,dahebolangkuan/PySocks,gumblex/PySocks