fiob library prototype.
Some test aren't passed.
Hack for all tests.
Segfaults for Roman.
fio_batch isn't used for snapshot
WAL is written as prior to.
box.ipc: add :close method. #158

+ use luaL_ref/luaL_unref to store lua scalar instead lua metatable.
+ add :is_closed method.
o_direct: review fixes. Remove files committed by mistake.

Remove fiob_open_flags, use "mode" consistently.
Fix errno assignment in fiob_close().
Prepare for FFI migration: use cdata for struct tuple.

This patch replaces box.tuple userdata with similar cdata.
Explicitly call ffi.gc() on tuple objects
Remove extra lua_call for setting __gc on cdata
Use relative indexes in luaL_ctypeid
Drop recursive calls. Rewrite by review.
module-sophia: coeio-based sophia bindings, implemented as a lua module.
move module related tests from test/box/ to test/module/.
module-sophia: debian package added.
Explicitly use thread-local buffer for C++ exceptions

This patch explicitly saves Exception to a thread-local variable inside
struct cord on tnt_raise(). This variable can be used to safetly
re-throw last exception from any place (not only from catch() block).
This technique requires exception to be thrown and catched by pointers.
tnt_raise macros was rewritten and all 'catch (Exception &)' blocks were
substituted with 'catch (Exception *e)'.

This patch also adds a new feature to box.raise() function.
When called without arguments box.raise() re-throws last exception (if
any).

These changes needed to implement proper handlings of exception for FFI
calls.
Use proper types in re-throw logic in box.raise()

This fix adds virtual method raise() to Exception classes to throw
derived type instead of base.
Storinig exceptions in TLS: code review.
Merge branch 'master' into HEAD