Add :transaction_id as option parameter of send_flow_mod
Avoid calls to get_transaction_id(), get_cookie() when possible.
Merge branch 'release/0.3.21' into develop
ruby-1.8.7-p371 -> p374
reduce memory usage
Fix nightly build error on debian6.0.1
- added sleep
updated the requirement for ubuntu 10.04
Updated gem dependencies.
Compile wireshark plugin with rake (refs #277).
Build packetin_filter with rake (refs #277)
Compile tremashark with rake (refs #277)
Move notes task from rant to rake (refs #277).
Build management commands with rake (refs #277).
Don't raise errors in rake reek and flog tasks.
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.
Build examples with rake (refs #277).
Build unittests with rake (refs #277).
Fix rake examples task to build all examples.
Remove dependency to rant (closes #277).
Merge pull request #309 from infrastation/develop

fix protocol version negotiation