Metering: meter tunnel-flows bidirectionally

This patch removes permanent tunnel-key based flows from the
wildcard flow table.

In its place a new stage in the PacketWorkflow queries the datapath
state exposed by the DatapathController to decide which to port to
forward tunneled packets to.

Based on this information, it will generate regular wildcard flows
(non-permanent) that specify not only the tunnel key, but also the
tunnel source and destination ip addresses.

This flows are tagged with a TunnelRouteTag, which includes those
addresses and now extends from MeterTag. As a result all agents now
publish traffic meters for traffic received / sent to each peer in the
cloud, enabling tunnel health monitoring.

These changes required adding tunnel src and dst fields to the
WildcardMatch classes.

Change-Id: I0c3a18911798563a159cba7db70016eeeda6408f
Signed-off-by: Guillermo Ontanon <guillermo@midokura.jp>
Merge "Metering: meter tunnel-flows bidirectionally"