Fix encoding of ofp_table_features with zero-length name

If the name field in the record is empty, the name field in the message
would occupy 0 bytes instead of 32.  This change ensures that we use the
proper field length in all cases.
Add support for connections initiated by OF controllers

OpenFLow 1.3.2 specification introduces a new statement that OpenFlow
controllers can connect to OpenFlow switches. For the time being
we support only TCP connections from controller. In the future the switch
should only support secure connection as specification recommends.
(FlowForwarding/LINC-Switch#147).
Adjust ofp_client, ofp_channel to accepting established connection

OpenFLow 1.3.2 specification introduces a new statement that OpenFlow
controllers can connect to OpenFlow switches. ofp_client and ofp_channel
along with tests had to be refactored to support this new functionality
by accepting a socket with already established connection from
the controller.
(FlowForwarding/LINC-Switch#147).
Merge pull request #49 from FlowForwarding/issue147

Add support for connections initiated by OF controllers
fix the value of multipart "more" flag
Merge pull request #51 from yamt/multipart-fix

fix the value of multipart "more" flag
remove unused ofp_action_set_queue.port
Merge pull request #52 from yamt/queue-port

remove unused ofp_action_set_queue.port
Merge pull request #47 from legoscia/table_features_encoding

Fix encoding of ofp_table_features with zero-length name
Merge remote-tracking branch 'refs/remotes/origin/master' into v5

Also port changes to v5 modules.