add bsn_counter request reply
separate bsn_port_counter from bsn_vlan_counter
fix typos
add bsn_port/vlan_counter_stats_request/reply
simplify variable names
add test data bsn_port_counter_stats_reply.data
add prefix to avoid name collision
replace tabs with spaces
loci: expose group-mod subtypes

I wanted to use the real IR inside loci to begin rewriting the wire type mess,
but hiding the group mod subclasses was getting in the way.
Merge into master from pull request #149:
add bsn_counter request reply (https://github.com/floodlight/loxigen/pull/149)
Merge into master from pull request #150:
loci: expose group-mod subtypes (https://github.com/floodlight/loxigen/pull/150)
loxi_ir: automatically generate action/instruction ID classes

These are used in the table features multipart messages.
py_gen: move ID classes into their own modules
loci: use ID classes from the IR

Instead of building them itself.
java_gen: support action and instruction IDs
Merge into master from pull request #151:
automatically generate action/instruction ID classes (https://github.com/floodlight/loxigen/pull/151)
Merge into master from pull request #152:
Handling virtual classes in wireshark_gen (https://github.com/floodlight/loxigen/pull/152)
loxi_ir: add convenience property OFClass.has_type_members
loci: use IR in class_is_virtual
loci: use IR to push wire types

The old code is disabled but not yet deleted.

The generated code looks like:

```
void
of_bsn_lacp_stats_reply_push_wire_types(of_object_t *obj)
{
    unsigned char *buf = loci_object_to_buffer(obj);
    switch (obj->version) {
    case OF_VERSION_1_3:
        *(uint8_t *)(buf + 0) = obj->version; /* version */
        *(uint8_t *)(buf + 1) = 19; /* type */
        *(uint16_t *)(buf + 8) = htobe16(65535); /* stats_type */
        *(uint32_t *)(buf + 16) = htobe32(6035143); /* experimenter */
        *(uint32_t *)(buf + 20) = htobe32(1); /* subtype */
        break;
    default:
        UNREACHABLE();
    }
}
```