Refactor msgpack, yaml, cjson to use common code base

Major changes:

 - All common logic and code from all serializes replaced by
   luaL_field/luaL_serializer functions
 - All features and methods were unified
 - cdata support added to JSON
 - ffi's .NULL added to JSON
 - .cfg{} method added to MsgPack, YAML and JSON
 - .new() method added to MsgPack and YAML
 - NaN and Inf checks ported from JSON
 - array vs map detection logic ported from JSON
 - support for __serialize hint added for table/cdata/userdata
 - _serializer_compact and _serializer_type superseded by __serialize
 - 64-bit integers encoding/decoding fixed in JSON and YAML
 - floating point encoding/decoding fixed in YAML
 - JSON was converted from submodule
 - New TAP-based tests added for MsgPack, MsgPackFFI, YAML, JSON
Review fixes for serializers-refactoring
Fix bug with decoding negative integers in msgpackffi
Merge branch 'master' into serializers-refactoring

Conflicts:
	src/lua/fiber.cc
	src/lua/msgpackffi.lua
	test/big/iterator.result
	test/big/lua.result
	test/box/msgpack.result
	third_party/lua-yaml/lyaml.cc
Init-scripts fixes

- change /etc/default format to Lua
- change defaults format to tarantool.cfg
- don't force logger/snap_dir/wal_dir/work_dir if it's set
- minor fixes in logging
- implement fio.dirname
Merge branch 'ocelot-master'