ovn: Rewrite logical action parsing and encoding library.
Until now, parsing logical actions and encoding them into OpenFlow has
happened in a single step. An upcoming commit will want to examine
actions after parsing without encoding them into OpenFlow. This commit
refactors OVN logical actions to make this possible.
The new form of the OVN action handling is closely modeled on ofp-actions
in the OVS core library. Notable differences are that OVN actions are
always fixed-length and that individual OVN actions can have destructors
(and thus can contain pointers to data that need to be freed when the
actions are destroyed).
Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Ryan Moats <rmoats@us.ibm.com> Acked-by: Justin Pettit <jpettit@ovn.org>