Move global struct relay_data to struct recovery_state
Implement non-blocking version of cord_join()

Other changes:

 * Saving/re-throwing original exception caused cord to terminate
Add memset() to cord_start() and fix potential bug in cord_join()
Fix #578: Rewrite JOIN handler to use pthreads instead of fork()
a minor fix of say.cc and authors updated
Add comments.
session_set_user() takes a user
A fix for gh-617 - add a separate fiber key for the current user.

Use cached user credentials for global access checks and store
them in a separate fiber key.

This fixes gh-617 and speeds up privilege checks.

@todo: we need to add a linked list of all user sessions
to the user cache, as well as all user setuid functions.
These lists could be used to update privilege cache,
get/update per-user statistics, disconnect sessions
of a dropped user.
Fix gh-612 "crash on start".

tarantoolctl instance management script may run atexit()
handler a few times - and if the call stack leads back to lua_call(),
trying to free Lua state from within Lua call produced a crash.

Don't try to close lua_State from within lua_call,
this leads to a sudden death during an otherwise
orderly shutdown.
Merge remote-tracking branch 'origin/master' into gh-578-join-thread
gh-578: review fixes

Fix obvious coding bugs in cord_cojoin/cord_join().

Remove unnecessary constants & arguments.
Keep an eye on the include dependencies becoming more messy.
Clear the O_NONBLOCK flag in the join thread, which
uses non-blocking API.
Suspend I/O in the main thread event loop for the
duration of replication join/subscribe.
Merge branch 'ocelot-master'
Update GA script.
Merge remote-tracking branch 'origin/stable'

Conflicts:
	src/say.cc
Merge branch 'master' of github.com:tarantool/tarantool