Single learner implementation.

Now only one learner watches the traffic, other learners are just
feeding from the acceptor state.
Optimized learner buffer processing

Now acceptor tries to minimize synchronization between learner queue and
incoming queue, so as not to block the learner processing.
Run vacuum only if threshold is exceeded
Fixed interaction between paxos and finalization protocol

Now acceptor ignores any paxos messages for finalized instances. Since
learner already delivered a value, all further paxos rounds can not
change that value without breaking the safety property.
This fix should stop extra values from appearing in the test run.

Also acceptor now sends special flag `final' for finalized instances, which
makes learner ignore paxos logic for majority element and closes the
instance.
This should fix paxos halting when network is unstable.
Fixed deadlock in the client processing
Improved connection handling

Synchronized value submit with connection state, also improved logging.
Short circuit fix for proposer and acceptor
Revert "Short circuit fix for proposer and acceptor"

This reverts commit 986120de697e58b1f0858a02a58a54134fd90bbf.
Do not use ASan with gcc
ASan support

Now ucontext backend is forced for libcoro when ASan support is
required. Asm backend proved to have false positives, with ucontext it
looks better.

Also switched from mmap to malloc for stack allocation, which is also
ASan friendly.
Configuring ASan support in evfibers now
Added 10 minute sleep after die for ASan
Improved reporting of other values in test client
Changed separate snprintf with buffer to %.*s magic
Dropped phase 1 skip optimization

Testing with unstable network reveals that it violates protocol safety.
We need to find another ways of phase 1 optimization.
Fixed stopping of acceptor
Squashed 'evfibers/' changes from 48d1bc3..fbd1dcb

fbd1dcb Added sample http server example
833ca09 changelog
8ebc62d Fixed linking with embedded libeio
4517693 Bumped travis test timeout modifier a little bit more
c8891f6 Fixed google analytics id
cdd56dc changelog
7310fb1 Fixed compiler warning
9debe0b Fixed licensing in bench/*
624de8b Improved fbr_ev_wait_one performance by ~3%
0c45a77 Update README.md
8faf5e2 Changing license to Apache License, Version 2.0
9d1d321 Removed old async worker proto file
4cd12b1 Added missing build script (used in test coverage script)
448b200 Update README.md
3b438d9 Bumped multiplier to 10
9b0c48d Added timeout multiplier of 3 for check (and travis)
15952ca Added environments with eio support enabled/disabled
85b8b1d Attemp to fix unit tests for travis
89a97c5 embedded libeio is not built static with -fpic
8d305c4 Merge commit '603f8a62eefe45f01c7a9df1fa4f8256b86a593a'
ec70d0b Valgrind is not optional

git-subtree-dir: evfibers
git-subtree-split: fbd1dcbf34ec3f047bac50aa877a80c318a872c2
Merge commit '7fbb93f35474501354da0a37e69d8974421f9948' into experimental3
Reduced memory count in client

Now only value id is tracked for received instances. This is
accomplished by introducing text based header at the start of each
value, which includes value id and md5 checksum for value itself as
well as value id.

This is enough for verification that received value is correct without
extra copy on the client side, so client now only tracks value id and
full value only for instances that have not been received yet and thus
might require resending.
Merge branch 'experimental3'