This change simplifies the protocol and removes a race condition between
block request and response. In the case of honest server, this helps
serve the canonical / fork-chosen chain better while dishonest or broken
servers still need to be handled the same way.
Might as well get started on versions and upgrade it to 2, since the
change is backwards incompatible.