ofctl_v1_2/3: Fully support the variation of the matching on VLAN tags

ofctl_v1_2/3 is now enabled to set(FlowMod)/get(FlowStats) the variation of the following matching pattern

  * Only packets without a VLAN tag (available by this patch)
  * Only packets with a VLAN tag regardless of its value (available by this patch)
  * Only packets with VLAN tag and VID equal

e.g.)

 * Only packets without a VLAN tag

   - FlowMod:
     # curl -X POST -d '{"dpid": 2, "match":{"vlan_vid": "0x0000"},"actions":[{"port":2, "type":"OUTPUT"}]}' http://localhost:8080/stats/flowentry/add

   - FlowStats:
     # curl http://127.0.0.1:8080/stats/flow/2
     {"2": [{"actions": ["OUTPUT:2"], "idle_timeout": 0, "cookie": 0, "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 88, "duration_nsec": 22000000, "priority": 0, "duration_sec": 0, "table_id": 0, "match": {"dl_vlan": "0x0000"}}]}

   - Packet Matching
     non-VLAN-tagged        MATCH
     VLAN-tagged(vlan_id=3)   x
     VLAN-tagged(vlan_id=5)   x

 * Only packets with a VLAN tag regardless of its value

   - FlowMod:
     # curl -X POST -d '{"dpid": 2, "match":{"vlan_vid": "0x1000/0x1000"},"actions":[{"port":2, "type":"OUTPUT"}]}' http://localhost:8080/stats/flowentry/add

   - FlowStats:
     # curl http://127.0.0.1:8080/stats/flow/2
     {"2": [{"actions": ["OUTPUT:2"], "idle_timeout": 0, "cookie": 0, "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 88, "duration_nsec": 22000000, "priority": 0, "duration_sec": 0, "table_id": 0, "match": {"dl_vlan": "0x1000/0x1000"}}]}

   - Packet Matching
     non-VLAN-tagged          x
     VLAN-tagged(vlan_id=3) MATCH
     VLAN-tagged(vlan_id=5) MATCH

 * Only packets with VLAN tag and VID equal

   - FlowMod:
     # curl -X POST -d '{"dpid": 2, "match":{"vlan_vid": 3},"actions":[{"port":2, "type":"OUTPUT"}]}' http://localhost:8080/stats/flowentry/add

   - FlowStats:
     # curl http://127.0.0.1:8080/stats/flow/2
     {"2": [{"actions": ["OUTPUT:2"], "idle_timeout": 0, "cookie": 0, "packet_count": 0, "hard_timeout": 0, "byte_count": 0, "length": 88, "duration_nsec": 20000000, "priority": 0, "duration_sec": 0, "table_id": 0, "match": {"dl_vlan": "3"}}]}

   - Packet Matching
     non-VLAN-tagged          x
     VLAN-tagged(vlan_id=3) MATCH
     VLAN-tagged(vlan_id=5)   x

Signed-off-by: Minoru TAKAHASHI <takahashi.minoru7@gmail.com>