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
Minor changes in lua/tuple.cc - fix compilation in Release mode
Convert third_party/lua-yaml/lyaml.c to C++ (to use try-catch block)
Fix yaml.encode on cdata objects and add tests cases
box-tuple-cdata: review fixes
Merge branch 'box-tuple-cdata'

Conflicts:
	src/box/CMakeLists.txt