Java_gen: Richer OXM support, factory reorganization

Reviewer: @yotamhc

For consistent access, OFOxms have been parameterized and received methods T getValue() and T getMask(), as well as a constant method getMatchField(). There is some more work to put the entire mapping of OXMs to MatchField's into java_model.

The OFObject factories have been restructured to allow for shorter method names and less gargantuan factories. Sub-objects (oxms, actions, instructions, etc.) have been transferred to their own factories that can be accessed via the main factory with actions() etc. Uncessary prefixes have been strippped from the factory method names. 'small' objects with a maximum of 2 writeable properties can be constructed directly without a builder. 0-parameter (constant) objects now use a shared instance.