Improve L2 Input/Output Feature Infrastructure and Usage

Simplify L2 output feature infra to unify with L2 input feature
infra using the newly improved feature bitmap mechanism.
Updated all L2 features to use the more efficient infra functions.

Change-Id: If8f463826b0af0717129befe92a27ea8cfc40449
Signed-off-by: John Lo <loj@cisco.com>
diff --git a/src/vnet/ethernet/arp.c b/src/vnet/ethernet/arp.c
index df68175..1bce332 100644
--- a/src/vnet/ethernet/arp.c
+++ b/src/vnet/ethernet/arp.c
@@ -2291,12 +2291,8 @@
 
 	next_l2_feature:
 	  {
-	    u32 feature_bitmap0 =
-	      vnet_buffer (p0)->l2.feature_bitmap & ~L2INPUT_FEAT_ARP_TERM;
-	    vnet_buffer (p0)->l2.feature_bitmap = feature_bitmap0;
-	    next0 =
-	      feat_bitmap_get_next_node_index (arp_term_next_node_index,
-					       feature_bitmap0);
+	    next0 = vnet_l2_feature_next (p0, arp_term_next_node_index,
+					  L2INPUT_FEAT_ARP_TERM);
 	    vlib_validate_buffer_enqueue_x1 (vm, node, next_index,
 					     to_next, n_left_to_next,
 					     pi0, next0);