Added changes for eblob which supports trace_id
Initialize err before dnet_add_state_socket() call
dnet_usage() text cleanup
Moved trace_id into TLS.
Removed debug printfs
Merge branch 'master' of github.com:reverbrain/elliptics into trace

Conflicts:
	bindings/cpp/callback_p.h
	bindings/cpp/log.cpp
	bindings/cpp/session.cpp
	bindings/cpp/session_indexes.hpp
	bindings/python/elliptics_python.cpp
	cache/cache.cpp
	example/common.c
	example/config.c
	example/find.cpp
	example/ioclient.cpp
	include/elliptics/backends.h
	include/elliptics/interface.h
	include/elliptics/session.hpp
	indexes/indexes.cpp
	indexes/local_session.cpp
	library/discovery.c
	library/dnet.c
	library/elliptics.h
	library/node.c
	library/notify.c
	library/pool.c
	library/trans.c
Restored missed dnet_state_clean
Merge pull request #218 from shaitan/trace

TLS based Trace
Count all timed out transactions
Added comments about io/net thread iteraction when bad things happen
Merge branch 'master' of github.com:reverbrain/elliptics
Cleanup trace_id after command has been processed
Trace id cleanups
Print trace id as part of thread-id/pid chunk. This will not break existing log parsers.
Use correct type name
Added callback machinery debug
Added stall/timed out transctions check.

When IO thread is about to start processing received transaction (no matter whether it is reply or request),
it removes transaction from 'timeout' list, so it can not be found by stall checking thread.
If transaction is the last one in the set, it is just destroyed, otherwise it is being put
back into the 'timeout' queue with updated timestamp.

When stall checking thread has been found timed out transaction, it removes it
both from 'timeout' list and from transaction tree. Thus transaction can not be
simultaneously processed/touched by any 2 threads.
v2.24.14.10