fix protocol version negotiation

Trema would not pair with an OpenFlow switch supporting protocol
versions greater than 0x01 (OF1.0). Immediately upon receiving a HELLO
message from such a switch Trema would close the TCP connection because
the protocol message checks expect the version to be strictly 0x01.
However, section 4.2 (Connection Setup) of the OpenFlow 1.0
specification explains:

"When an OpenFlow connection is first established, each side of the
connection must immediately send an `OFPT_HELLO` message with the
`version` field set to the highest OpenFlow protocol version supported
by the sender. Upon receipt of this message, the recipient may calculate
the OpenFlow protocol version to be used as the smaller of the version
number that it sent and the one that it received."

Specifications of subsequent protocol versions preserve this approach
and elevate the requirement level for it.

This change implements the logic above through a new function
valid_message_version() that is used instead of the old checks.
Merge pull request #309 from infrastation/develop

fix protocol version negotiation