java_gen: separate VlanVid and OFVlanVidMatch + push version to 0.3.1

OF1.3 specifies the concept of a 'PRESENT' bit (0x1000) that gets
added to the 12 bit VlanVid to indicate presence of a tagged vlan.

While the standard is unclear, our reading is that this is only
relevant for use in match fields/oxms (not in actions).

This commit accordingly splits up VlanVid into
 - a new VlanVid class (which just represents the concept of a 12-bit
    VLAN tag, as specified by 802.1Q), and
  - OFVlanVidMatch (which represents the concepts of an OF1.3 VlanTag
    + Presence Bit, as spec'ed in OF1.3 for matches).

As this is an API-incompatible change, the artifact version has
been pushed to 0.3.1
diff --git a/java_gen/java_model.py b/java_gen/java_model.py
index 2b17afa..896cc99 100644
--- a/java_gen/java_model.py
+++ b/java_gen/java_model.py
@@ -79,8 +79,8 @@
                 "OFOxmEthSrcMasked":        OxmMapEntry("MacAddress", "ETH_SRC", True),
                 "OFOxmEthType":             OxmMapEntry("EthType", "ETH_TYPE", False),
                 "OFOxmEthTypeMasked":       OxmMapEntry("EthType", "ETH_TYPE", True),
-                "OFOxmVlanVid":             OxmMapEntry("VlanVid", "VLAN_VID", False),
-                "OFOxmVlanVidMasked":       OxmMapEntry("VlanVid", "VLAN_VID", True),
+                "OFOxmVlanVid":             OxmMapEntry("OFVlanVidMatch", "VLAN_VID", False),
+                "OFOxmVlanVidMasked":       OxmMapEntry("OFVlanVidMatch", "VLAN_VID", True),
                 "OFOxmVlanPcp":             OxmMapEntry("VlanPcp", "VLAN_PCP", False),
                 "OFOxmVlanPcpMasked":       OxmMapEntry("VlanPcp", "VLAN_PCP", True),
                 "OFOxmIpDscp":              OxmMapEntry("IpDscp", "IP_DSCP", False),