Update to BngProgrammable API

Setup of an attachment won't trigger counters clean up

Change-Id: I6be72bdedb71bbc6152e8192ec4614a2f812b014
(cherry picked from commit e12d0ea7f3a7590a30c282294e83f7978bda914b)
diff --git a/core/api/src/main/java/org/onosproject/net/behaviour/BngProgrammable.java b/core/api/src/main/java/org/onosproject/net/behaviour/BngProgrammable.java
index a35377e..3f6f9e9 100644
--- a/core/api/src/main/java/org/onosproject/net/behaviour/BngProgrammable.java
+++ b/core/api/src/main/java/org/onosproject/net/behaviour/BngProgrammable.java
@@ -54,13 +54,15 @@
      *              BngProgrammable.
      * @throws BngProgrammableException while writing on BNG device.
      */
-    void cleanUp(ApplicationId appId) throws BngProgrammableException;
+    void cleanUp(ApplicationId appId)
+            throws BngProgrammableException;
 
     /**
      * Set up the necessary state to enable termination of the attachment
-     * traffic. Make also sure that the state of the given attachment is cleaned
-     * up. If the attachment is active, packets will be forwarded/terminated
-     * after calling this method, if not they will be dropped.
+     * traffic. If the attachment is active, packets will be
+     * forwarded/terminated after calling this method, if not they will be
+     * dropped. State, if already present in the data plane, will not be cleaned
+     * (e.g., counters).
      *
      * @param attachmentInfo Attachment information to configure the line
      *                       termination.
@@ -77,8 +79,10 @@
      *
      * @param attachmentInfo Attachment information to remove the line
      *                       termination.
+     * @throws BngProgrammableException while writing on BNG device.
      */
-    void removeAttachment(Attachment attachmentInfo);
+    void removeAttachment(Attachment attachmentInfo)
+            throws BngProgrammableException;
 
     /**
      * Read all counters for a given attachment and returns a map with keys