[VOL-4055][ONOS-8138] Adding annotations to meter to allow passing of associated information

This patch allows for adding key value elements in the meter request and in the meter generated from it.
An example is:
Annotations annotations = DefaultAnnotations.builder().set("MeterForDeviceType", "olt").build();
DefaultMeterRequest.builder().withAnnotations(annotations)
Generates:
 DefaultMeter{device=of:00000a0a0a0a0a0b, cellId=2, appId=org.opencord.olt, unit=KB_PER_SEC, isBurst=true, state=ADDED, bands=[DefaultBand{rate=100000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=100000, burst-size=5000, type=DROP, drop-precedence=null}, DefaultBand{rate=100000, burst-size=0, type=DROP, drop-precedence=null}], annotations={MeterForDeviceType=olt}}

Change-Id: Ifaded96ebeb7956bc60cdf311180c984c3ba954e
diff --git a/core/api/src/test/java/org/onosproject/net/meter/MeterOperationTest.java b/core/api/src/test/java/org/onosproject/net/meter/MeterOperationTest.java
index 0716d7d..c43c5c7 100644
--- a/core/api/src/test/java/org/onosproject/net/meter/MeterOperationTest.java
+++ b/core/api/src/test/java/org/onosproject/net/meter/MeterOperationTest.java
@@ -18,6 +18,7 @@
 import com.google.common.testing.EqualsTester;
 import org.junit.Test;
 import org.onosproject.core.ApplicationId;
+import org.onosproject.net.AbstractAnnotated;
 import org.onosproject.net.DeviceId;
 
 import java.util.Collection;
@@ -67,7 +68,7 @@
         assertThat(op.meter(), is(m1));
     }
 
-    private static final class TestMeter implements Meter {
+    private static final class TestMeter extends AbstractAnnotated implements Meter {
 
         @Override
         public DeviceId deviceId() {