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.
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
Add OFPVID_PRESENT and OFPVID_NONE values for matching on VLAN tags

These values are used to indicate special conditions in matching
VLAN tagged frames.
(Motivated by FlowForwarding#134).
Merge pull request #55 from FlowForwarding/issue134

Add OFPVID_PRESENT and OFPVID_NONE values for matching on VLAN tags
remove a questional error handling

as our underlying transport (tcp/ssl) is a stream which doesn't preserve
message boundaries, dropping an unparsable segment likely make the
situation worse.
fix message header parsing

if not enough bytes of data are available, return {error, binary_too_small}
so that the caller can retry when more data come.  it's normal as
our underlying transport (tcp etc) does not preserve message boundaries.
fix some of ofp_v4 table_feature_prop_type constants