Add. Support BindParam and BindCol
ODBC Types: bigint/long/short/tinyint/float/double/char/binary
bind_param support output parameters
bind_param/bind_col return self
export ODBC constants
Fix. use static functions instead external
method stmt:execute does not create colname and coltype. This tables create by stmt:fetch()
Add method stmt:vfetch(). this method do not create colname and coltype.
Add method stmt:rowcount().
method stmt:prepare does not create colname, coltype and params. Param list init by stmt:bindXXX().
Implement bit type.
Implement access to env/cnn/stmt metatable.
Implement make_fixsize_T macro.
Add Time type.
Fix. get size for binary/char value
Fix. set 0 as false for bit value
Add. tests for value.
lakefile support selection dynamic c runtime
Rename module from lodbc to odbc
Fix. cnn:destroy do disconnect.
Add lua module odbc.lua
Add function stmt:vbind_col stmt:vbind_param which get exists odbc values.
Add function stmt:vbind_col_XXX stmt:vbind_param_XXX which create new odbc values and return them.
```lua
odbc = require"odbc"
cnn  = odbc.connect("EmptyDB")
stmt = cnn:prepare("{?= call dba.fn_test()}")
ret  = stmt:vbind_param_ulong(1, 0, odbc.PARAM_OUTPUT)
assert(stmt:execute())
print(ret:get())
stmt:reset()
stmt:vbind_col(1, ret)
stmt:execute('select 123')
print(ret:get())
```
Implement asynchronous execute/vfetch
Add supportsAsync methods to connection

```lua
local SQL_ATTR_ASYNC_ENABLE = 4
local SQL_ASYNC_ENABLE_OFF  = 0
local SQL_ASYNC_ENABLE_ON   = 1

local env = odbc.environment()
local cnn = env:connection()
cnn:driverconnect("Driver={SQL Server Native Client 10.0};Server=127.0.0.1,1443;Database=testdb;Uid=sa;Pwd=sql;")
assert(cnn:supportsAsyncStatement())
local stmt = cnn:statement()
stmt:prepare('select id, name from test_table where id=?')
stmt:setuintattr(SQL_ATTR_ASYNC_ENABLE, SQL_ASYNC_ENABLE_ON)
stmt:bindnum(1, function() return 1 end)
local id, name = odbc.ulong():bind_col(stmt, 1), odbc.char(50):bind_col(stmt, 2)

local COUNTER = 0

function execute()
  while true do
    local ok, err = stmt:execute()
    if ok ~= 'timeout' then return ok, err end
    COUNTER = COUNTER + 1
  end
end

function vfetch()
  while true do
    local ok, err = stmt:vfetch()
    if ok ~= 'timeout' then return ok, err end
    COUNTER = COUNTER + 1
  end
end

assert(execute())
print("execute counter:", COUNTER)
assert(vfetch())
print("  fetch counter:", COUNTER)
print("         result:", id:get(), name:get())
```
Reset async state on close cursor
Implement odbc.assert that works with odbc.error objects
Implement get_data for odbc values
Fix. stmt:pindparam/stmt:bindstr did not set precision.
Fix. cnn:schemas/catalogs/tabletipes use empty string instead NULL.
SQL_WCHAR use SQL_C_CHAR (lua string type).
Some bugfix in test.
Tests passed with MS SQL Server 2008 (except 04_test_odbc_bind.lua).
stmt:nextresultset() return false after last rs;
Merge branch 'develop' into async
Implement setasyncmode/getasyncmode.
nextresultset support async mode.
Add wchar odbc type