[AETHER-1516] Barefoot/bmv2 drivers are never loaded

This happens when missing drivers are detected due to wiring issues
during the loading of top level drivers (like stratum). This patch
fixes the bundle wiring issues by putting order in the loading of the
apps.

Short story: the loading of the apps is done in a greedy way in the
app store. This patch introduces a local map to track down the locally
started apps and to discard the activation coming from other instances if the
required apps are not loaded yet locally.

The bug is typically triggered becauses the instances start in random order,
app store can miss events as it does not start at the same time in all instances.
The bundle restart increases the chances to trigger this issue.

Additionally, this patch improves logging of the app subsystem.

Change-Id: I88eb58c5e1fb5b361fc32654310c58040e5789cd
diff --git a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
index c7e28bd..6b18a04 100644
--- a/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
+++ b/core/net/src/main/java/org/onosproject/app/impl/ApplicationManager.java
@@ -297,6 +297,8 @@
                 changed = true;
             } else if (feature == null) {
                 log.warn("Feature {} not found", name);
+            } else if (log.isDebugEnabled()) {
+                log.debug("Feature already installed for {}", app.id());
             }
         }
         return changed;