Support for generic table IDs in flow rules

This change is needed to let appications specify tables in flow rules
using indentifiers that are not numeric, e.g. using table names as in a
P4 program.

This change deprecates the FlowRule.tableId() method, in favor of
FlowRule.table(), which returns an object of type TableId. However, it
does not deprecate the .forTable(int tableId) builder method, since it
is used extensivelly in the ONOS code base and from external
applications.

Deprecating FlowRule.tableId() does not seem to be such a painful move
since it is used less frequently, e.g. only 22 usages in the ONOS tree.

Change-Id: Idaaaab53d0c1e20a1f9c7de84de09ec3a42648b5
diff --git a/web/api/src/test/java/org/onosproject/rest/resources/IntentsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/IntentsResourceTest.java
index ba4b3d7..61b1b4a 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/IntentsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/IntentsResourceTest.java
@@ -51,6 +51,7 @@
 import org.onosproject.net.flow.FlowRule;
 import org.onosproject.net.flow.FlowRuleExtPayLoad;
 import org.onosproject.net.flow.FlowRuleService;
+import org.onosproject.net.flow.TableId;
 import org.onosproject.net.flow.TrafficSelector;
 import org.onosproject.net.flow.TrafficTreatment;
 import org.onosproject.net.flow.criteria.Criterion;
@@ -347,6 +348,11 @@
         }
 
         @Override
+        public TableId table() {
+            return DEFAULT_TABLE;
+        }
+
+        @Override
         public boolean exactMatch(FlowRule rule) {
             return false;
         }