Lua modules compatible with Lua 5.2
Build with Lua 5.2 without LUA_COMPAT_MODULE flag
Fix. Build for Win XP/2k3
Fix. socket.dns.getaddrinfo work on Windows XP.
Add. error option to socket
```lua
sock = socket.tcp()
sock:settimeout(0)

-- try connect to non exists server
-- this call return timeout
sock:connect('127.0.0.1', 125)

-- this call also return timeout and no socket was selected
-- ! But sock get error on connection !
socket.select({sock}, {sock}, 10)

-- So we must check error status on socket
-- this call return 'connection refused'
sock:getoption('error')
```
Some style tweaks in winsock module.
Add. acceptfd method.
socket.tcp can accept fd and socket type ('master'(default), 'client')

```lua
-- main thread
local fd = srv_sock:acceptfd()
Threads.runfile('echo.lua', fd)

-- echo.lua
local fd = ...
local sock = socket.tcp(fd,'client')
```
Fix. recive 2xx while ftp.get cause timeout error

In this example:
>Client send: MDTM test.txt
>Server response: 213 20120824120909
Because FTP server do not open new channel (2XX response)
and LuaSocket try open new channel we get timeout.

```lua
local ftp   = require "socket.ftp"
local ltn12 = require "ltn12"
local url   = require("socket.url")

local URL = "ftp://USER:TEST@127.0.0.1";
local CMD = 'MDTM test.txt';

-- get timeout
ftp.get{
  url = URL;
  command = CMD;
  sink = ltn12.sink.table{};
}

-- or we can use ftp.command
ftp.command{
  url = URL;
  command = URL,
  check = function(...)
    local status, data = ...
    return true
  end;
}
```
Optional IPv6 test.
Add lakefile.