Cleanup, p. 2.
Merge branch 'master' of github.com:cocaine/cocaine-core
Added drain graphs in resolve results.

Locator will return drain graph for a message, along with message alias
and transition graph now. This is required for frameworks to construct
handling objects appropriately. For backward compatibility, all messages
have a 'streaming_tag' drain for now.
Initialize the max channel counter to zero.

Previously, the max channel number was uninitialized, so messages were
dropped randomly because their channel id was lower than the garbage in
the max channel counter.
No automatic channel revocations.

Sessions will drop channels only when the client has sent the last
message according to the protocol dispatch graph.
Fix building on ancient compilers.
Proper tuple types for messages in the queue.

Use the stripped message argument types in the message queue. Previsouly
the argument types were used as is in the dispatch graph descriptions,
along with optional<T> tags and so on.
Autogenerate channel indices on outgoing messages.
Rollback the dispatch registration skipping for now.
Deduplicate tuple type deduction.
No need for empty default constructor bodies.

They can be replaced with ctor() = default.
Enforce the slot dispatch transition.

Slots are now bound to return the correct transition dispatch type,
which at least forces the implemenation to stick to the messages
specified in the message transition protocol.

Also, defaulted some special member functions where it was possible.
Reworked the RPC to track types more accurately.
Drop some unused forwards.
Synchronize Raft with RPC changes, part 1.

Renamings dispatch_t -> basic_dispatch_t, implements -> dispatch, and so on.
Merge https://github.com/andrusha97/cocaine-core into andrusha97-cocaine-core
Fixed Raft building with new RPC stuff.
Fix build with g++ 4.4.
More cleaning up.
Codestyle and stuff.