MeterManager optimiziation. Use entryset instead of keyset avoiding some store access,
also add MeterStore getAllMeters(DeviceId).

Change-Id: I8dac9558cdb8b5c758e0e402cd0724c6cae16daf
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
index 25276d5..cd0d707 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
+++ b/incubator/store/src/main/java/org/onosproject/incubator/store/meter/impl/DistributedMeterStore.java
@@ -273,6 +273,14 @@
     }
 
     @Override
+    public Collection<Meter> getAllMeters(DeviceId deviceId) {
+        return Collections2.transform(
+                Collections2.filter(meters.asJavaMap().values(),
+                        (MeterData m) -> m.meter().deviceId().equals(deviceId)),
+                MeterData::meter);
+    }
+
+    @Override
     public void failedMeter(MeterOperation op, MeterFailReason reason) {
         MeterKey key = MeterKey.key(op.meter().deviceId(), op.meter().id());
         meters.computeIfPresent(key, (k, v) ->