bsn_gentable extension

Reviewer: @andi-bigswitch

See the documentation in openflow_input/bsn_gentable. In short, this extension will make it easier for us to implement tables that are similar to flowtables in that they have extensible keys and values, but don't carry the semantic baggage. We intend to use gentables for switch functionality like the ARP and LACP agents that doesn't make sense to represent as packet match/action flows.

This extension shouldn't be considered stable until the corresponding Indigo/OFTest work is complete and we're sure the wire protocol supports everything we need it to.