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()
Make request->tuple to be iovec
Add alloc_factor argument to obuf_create()
Add obuf_ensure() and obuf_advance() API
Merge with master
sophia: implement engine transaction; sophia transaction support

closes #gh-554
sophia-gh-577: make rollback procedure an engine related
Replace tbuf with obuf
sophia-gh-577: forge LSN on commit
sophia-gh-577: pass and use LSN during log recover, fix #gh-555

This patch uses sophia'a two-phase recovery to
integrate with tarantool wal.
a minor fix of say.cc and authors updated
sophia-gh-577: make profiler information available in tarantool
Merge branch 'master' into sophia-gh-577
Merge remote-tracking branch 'origin/master' into sophia-gh-577
sophia-gh-577: pass engine options on box.cfg
Introduce BOX key type for R-Tree
Add unit tests for R-Tree