Use protocol instead of structs to represent cluster change commands.

Commands of a state machines are represented with cocaine io protocol. Actually cluster configuration is a state machine, so its commands are also represented with protocol now.