Merge branches 'devel/mpls-recirculate.v9' and 'devel/always-update-ethertype-on-mpls_pop-v2' into devel/mpls-multi-push-and-pop-base
Allow multiple levels of MPLS push and pop

Also:
* Remove mpls_depth from struct flow,
  This value really has not place in the flow which otherwise
  only knows about the top-most LSE.
  Instead track depth changes during execution.
* Allow MPLS pop to MPLS. That is, popping the top-most LSE of
  an MPLS stack of depth greater than one.

This patch relies on recirculation to update packets to allow
combinations of push and pop actions using a flow which only
knows about the top-most LSE.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>

--

v2
* Rebase