tcp_server: call prepare function before bind

(so user can use 'SO_REUSEADDR' option in tcp_server)
socket:read returns shortest pattern. #474
socket:name and socket:string can be used as strings.

(fix httpd log messages)
Fix #439: socket must be closed on __gc

This patch also adds argument checking to all socket methods.
Remove broken struct sockaddr definition from FFI

Fixes compatibility with third-party modules.
Hide box.socket.internal
box.net.box[stable] uses new sockets and close socket properly. closes #457
Fix #394: LuaJIT doesn't work under Valgrind 3.9.0+
Remove objc include from cmake/luajit.cmake
Bug fix update for LuaJIT
Fix #504: Default value for size argument in socket:recvfrom(size, flag)
Turn of tests in Travis-CI
Refactor socket.tcp_server() to use nice fiber names

socket.tcp_server() changes:

 * Set nice fibers names for listener and clients
 * Use only one address for bind
 * Return single socket instead of wrapper
 * Add opts = {} to arguments
 * Automatically remove UNIX domain socket on server:close()

Other changes:

 * Fix buggy port number parsng for ipv6
 * Add peer address to accept() results like recvfrom()
socket.tcp_server removes old socket if it exists and dead. closes #414
tcp_connect forces errno to EINVAL if it can solve DNS address.
Fix #560: add AI_PASSIVE to getaddrinfo() in socket.tcp_server()
Merge branch 'stable' of https://github.com/tarantool/tarantool into stable