This change adds a Go unit test that runs the protocol test suite against the go-ethereum implementation of the eth protocol.
This PR fixes an issue with the eth66 test suite where, during a readAndServe when the test is manually responding to GetBlockHeader requests, it now responds with a BlockHeaders eth66 packet that includes the inbound request ID.
Co-authored-by: Martin Holst Swende <martin@swende.se>