ofproto: Optimize datapath actions.
The translation from ofproto to datapath actions has historically
been fairly naive. Since redundant ODP actions result in more code
execution in the fast path, this patch changes xlate_actions() to
emit fewer ODP actions for a given flow.
This change is not simply a theoretical optimization. It actually
reduces the number of ODP actions for real flow tables which
Nicira's controllers use in practice. Furthermore, removing
unnecessary modification actions after the last output action has
the added benefit of saving a whole skb_clone() in the fast path.