Simplifying reader functions
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();
    }
}
```
loci: use new push_wire_types functions in list_append_bind
loci: remove dead code
openflow_input: fix lengths in masked extension OXMs

The other backends don't rely on these lengths which is why this was never
noticed. The C backend relies on them, but used to set the length field for
OXMs itself.
Merge into master from pull request #156:
Simplifying reader functions (https://github.com/floodlight/loxigen/pull/156)
Merge into master from pull request #153:
Rewrite LOCI wire type pushing (https://github.com/floodlight/loxigen/pull/153)
Merge into master from pull request #154:
java_gen: dedicated factories for (action|instruction)_id, erromsg (https://github.com/floodlight/loxigen/pull/154)
Types: added 'matches' method to Masked<T>

+ IPv4 based unittest