Upgrade packet requests to use flow objectives API.

Addressed a few issues found while using the flow objectives across a cluster:
 * Flow objectives should be installable from any node, not just the master.
   Therefore we need to ensure all nodes initialize a driver for each switch.
 * We no longer store a list of objectives that are waiting for the switch
   to arrive. If the we don't know about the switch yet we'll try a few times
   over a few seconds to find it, but after that we'll give up and report an
   error to the client.
 * Default drivers need to be available when the FlowObjectiveManager starts
   up, otherwise it is common to get flow objective requests before any
   drivers have been loaded.

Change-Id: I1c2ea6a223232402c31e8139729e4b6251ab8b0f
diff --git a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
index 6489bea..9bbe991 100644
--- a/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
+++ b/core/api/src/main/java/org/onosproject/net/flowobjective/DefaultForwardingObjective.java
@@ -36,7 +36,7 @@
     private final int timeout;
     private final ApplicationId appId;
     private final int priority;
-    private final int nextId;
+    private final Integer nextId;
     private final TrafficTreatment treatment;
     private final Operation op;
     private final Optional<ObjectiveContext> context;
@@ -46,7 +46,7 @@
     private DefaultForwardingObjective(TrafficSelector selector,
                                       Flag flag, boolean permanent,
                                       int timeout, ApplicationId appId,
-                                      int priority, int nextId,
+                                      int priority, Integer nextId,
                                       TrafficTreatment treatment, Operation op) {
         this.selector = selector;
         this.flag = flag;
@@ -67,7 +67,7 @@
     private DefaultForwardingObjective(TrafficSelector selector,
                                        Flag flag, boolean permanent,
                                        int timeout, ApplicationId appId,
-                                       int priority, int nextId,
+                                       int priority, Integer nextId,
                                        TrafficTreatment treatment,
                                        ObjectiveContext context, Operation op) {
         this.selector = selector;