ofproto-dpif: Remove pointers between rules and facets.
Before this patch, facets maintained a pointer to the first rule
used when translating their actions, and rules maintained a pointer
to those facets. This made sense before the resubmit actions which
each facet used precisely one rule. However, today a facet may
require many rules to translate, and therefore it makes no
conceptual sense to designate one as the "owning rule".
Furthermore, as Open vSwitch becomes multithreaded, maintaining a
facet's rule pointer will become more difficult. One thread will
do the action translation, while another will maintain the facets.
During the hand-off between these threads, it's possible the
"owning rule" will expire leaving us with a stale pointer.
This patch does have a disadvantage, Pushing a facet's statistics
will become slightly less efficient as it will involve an
additional classifier lookup. We can revisit this issue once
multithreading is complete, but I suspect there's much lower
hanging fruit to worry about.
Signed-off-by: Ethan Jackson <ethan@nicira.com>