loxigen: generate legacy type_maps data from the IR

The C backend (and, for the moment, the python and java backends) still need
the type_maps data. Duplicating it between the type_maps file and the input
files is not ideal because adding a new object would require editing both
places.

This change does the minimal work to generate most of the type_maps data from
the IR. There are some stragglers where LOXI is particularly unclean (stats and
flow-mod subtypes not really using inheritance) but the goal is for a developer
who needs to add a new object to be able to do it without modifying Python
code.
diff --git a/openflow_input/bsn_l2_table b/openflow_input/bsn_l2_table
index d5135d0..1fb48b6 100644
--- a/openflow_input/bsn_l2_table
+++ b/openflow_input/bsn_l2_table
@@ -30,11 +30,11 @@
 // BSN L2 table configuration messages
 struct of_bsn_set_l2_table {
     uint8_t version;
-    uint8_t type;
+    uint8_t type == 4;
     uint16_t length;
     uint32_t xid;
-    uint32_t experimenter;    // OF_EXPERIMENTER_ID_BSN
-    uint32_t subtype;   // BSN_L2_TABLE_SET
+    uint32_t experimenter == 0x5c16c7;
+    uint32_t subtype == 12;
     uint8_t l2_table_enable;    // 1 == enabled, 0 == disabled
     uint8_t pad;
     uint16_t l2_table_priority;  // priority of all flows in L2 table
@@ -43,20 +43,20 @@
 
 struct of_bsn_get_l2_table_request {
     uint8_t version;
-    uint8_t type;
+    uint8_t type == 4;
     uint16_t length;
     uint32_t xid;
-    uint32_t experimenter;    // OF_EXPERIMENTER_ID_BSN
-    uint32_t subtype;   // BSN_L2_TABLE_GET_REQUEST
+    uint32_t experimenter == 0x5c16c7;
+    uint32_t subtype == 13;
 };
 
 struct of_bsn_get_l2_table_reply {
     uint8_t version;
-    uint8_t type;
+    uint8_t type == 4;
     uint16_t length;
     uint32_t xid;
-    uint32_t experimenter;    // OF_EXPERIMENTER_ID_BSN
-    uint32_t subtype;   // BSN_L2_TABLE_GET_REPLY
+    uint32_t experimenter == 0x5c16c7;
+    uint32_t subtype == 14;
     uint8_t l2_table_enable;    // 1 == enabled, 0 == disabled
     uint8_t pad;
     uint16_t l2_table_priority;  // priority of all flows in L2 table