Implementation of requests deserilization and iteration
(as part of blueprint Add replication support to the client library
https://blueprints.launchpad.net/tarantool/+spec/client-replication)
still to do: update request parsing, iov preparation (for resend) and proper
commments.
connector/c: update request deserilization support
connector/c: tnt_request io vector transforming
Merge branch 'master' of github.com:mailru/tarantool into connector-c-marshal

Conflicts:
	connector/c/include/libtnt/tnt.h
	connector/c/tnt/tnt_buf.c
	connector/c/tnt/tnt_call.c
	connector/c/tnt/tnt_delete.c
	connector/c/tnt/tnt_insert.c
	connector/c/tnt/tnt_iter.c
	connector/c/tnt/tnt_ping.c
	connector/c/tnt/tnt_select.c
	connector/c/tnt/tnt_stream.c
	connector/c/tnt/tnt_update.c
connector/c: post-merge fixes
Merge branch 'master' into connector-c-marshal

Conflicts:
	connector/c/include/tarantool/tnt.h
	connector/c/tnt/tnt_buf.c
	connector/c/tnt/tnt_call.c
	connector/c/tnt/tnt_delete.c
	connector/c/tnt/tnt_insert.c
	connector/c/tnt/tnt_iter.c
	connector/c/tnt/tnt_ping.c
	connector/c/tnt/tnt_select.c
	connector/c/tnt/tnt_stream.c
	connector/c/tnt/tnt_update.c
post-merge fixes.
Merge branch 'connector-c-marshal' of github.com:mailru/tarantool into connector-c-librpl
connector-c-librpl: tnt_stream refactoring
connector-c-librpl: initial libtntrpl implementation (xlog streams)
connector-c-librpl: tntrpl refactoring
connector-c-librpl: adaptation of request reader
* stream write_request virtual method added
* initial implementation of wal-cat, wal-player in console client
connector-c-librpl: console client refactoring, update fixed
connector-c-librpl: implementation of replication stream
* tnt_stream_rpl added
* console client replica mode added
connector-c-librpl: tests for xlog and rpl streams
Remove Windows line ending (^M) from queue.h.
Implement a simple unit testing framework. Add the first unit test.

Extend queue.h with STAILQ_SPLICE and STAILQ_REVERSE.
Test the new functions in a simple unit testing framework.
A fix for https://bugs.launchpad.net/tarantool/+bug/790688

A fix for bug https://bugs.launchpad.net/tarantool/+bug/790688
"ER_TUPLE_IS_RO should be more rare".

Rewrite the transaction processor to optimistically
perform changes in memory. In case of an error, transactions
are rolled back in order, reverse to the order of execution,
and gradually restore the original state of memory.
The wal writer therad orchestrates the rollback, by not
initiating it until all queries which entered the processing queue
before the error has occurred were not added to the rollback queue.

While in the state of rollback (i.e. collecting all requests
for rollback) new requests are not accepted into the processing
queue (see changes in wal_write()).

XXX: This patch makes dirty reads possible when we are in rollback,
since SELECTs do not enter the wal writer queue and can therefore
see changes which later will be rolled back. Since this is a
very rare situation, it's considered acceptable to fix this problem
in a separate patch (a separate bug will be reported).
Fix unit test run under valgrind.
Cherry-pick mhash unit test from branch feature-hash-test.

Now that we have unit-testing framework, cherry-pick mhash
unit tests from branch feature-hash-test.