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/templates/custom/OFMatchV1Ver10.Builder.java b/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
index 239828e..396e3a0 100644
--- a/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
+++ b/java_gen/templates/custom/OFMatchV1Ver10.Builder.java
@@ -381,7 +381,7 @@
                     wildcards &= ~OFPFW_DL_VLAN_PCP;
                     break;
                 case VLAN_VID:
-                    setVlanVid((VlanVid) value);
+                    setVlanVid((OFVlanVidMatch) value);
                     wildcards &= ~OFPFW_DL_VLAN;
                     break;
                 default:
@@ -492,7 +492,7 @@
                     wildcards |= OFPFW_DL_VLAN_PCP;
                     break;
                 case VLAN_VID:
-                    setVlanVid(VlanVid.NONE);
+                    setVlanVid(OFVlanVidMatch.NONE);
                     wildcards |= OFPFW_DL_VLAN;
                     break;
                 default: