Flushcommand

follow up (builds on) on PR #651, and superseeds (and includes) PR #650

This forks protocol v.1.0 into v.1.0 and v.1.1, then applies Gustavo's changes from #650 on v.1.1 only.
Use the version number in the header of the messages to deserialize to route the request to the right protocol.

New messages are created using protocol v.1.1

I considered a more general purpose framework to generalize the minor version protocol differences, but opted to keep it simple as history has proven we don't need such revisions often. Also I think we can add more changes to protocol version 1.1 before the final release, if we find the need for more.