tests: Generate random trace_id for each test case
client: Start client logic refactoring

1. Always notify user about ALL errors, including client and server one
2. Move backend's operations to new processing engine
3. Add *_cast methods to result_entry & async_results
4. set_direct_id now sets address to session instead of dnet_id, this
makes impossible to send request to other node *by accident*
client: Don't send backend control by backend_id

We need to execute them in global io pool, not backend's one
run_servers: Write pid of dnet_ioserv's to log
cpp: data_buffer should consider size of counter
client: Moved more methods to new API

They are write/remove and part of update_indexes
client: Moved start_iterator to new API
client: Moved lookup and read to new API
client: Make aggregated count total for new result
client: Moved bulk_read to new API
client: Moved find_indexes to new API
client: Moved remove_indexes_internal to new API
client: Moved statistics handlers to new API
client: Moved request_cmd to new API
client: Removed legace statistics callback
client: Moved exec to new API. That was the last
API: Changed signature of "complete" methods

Now they accept dnet_addr instead of dnet_net_state, this makes possible
to know address of packet's origin even if there is no connection to
that state right now (to inform about -ENXIO errors, for example)
client: Removed unused client's methods
client: Moved read/write_file logic to c++ binding
protocol: Changed DNET_TRANS_REPLY to DNET_FLAGS_REPLY