Support creation of vendor-specific versions of the fabric pipeconf

We provide a new service to facilitate registration of vendor-specific
versions of the Fabric pipeconf (e.g., for Tofino) from third-party
apps. This service is designed such that third-party apps do not need to
depend on internal classes at compile time, such as the behaviour
implementations.

To make this possible, the package structure has been refactored to
separate APIs from implementation.

Change-Id: I487cb806541eb9e6877ebf398a94f057613df8cc
diff --git a/pipelines/fabric/BUILD b/pipelines/fabric/BUILD
index 11dad56..41ecec5 100644
--- a/pipelines/fabric/BUILD
+++ b/pipelines/fabric/BUILD
@@ -1,22 +1,9 @@
-COMPILE_DEPS = CORE_DEPS + KRYO + [
-    "//protocols/p4runtime/model:onos-protocols-p4runtime-model",
-    "//protocols/p4runtime/api:onos-protocols-p4runtime-api",
-    "//providers/general/device:onos-providers-general-device",
-    "//pipelines/basic:onos-pipelines-basic",
-    "//core/store/serializers:onos-core-serializers",
-    "//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api",
-]
-
 BUNDLES = [
-    "//pipelines/fabric:onos-pipelines-fabric",
+    "//pipelines/fabric/api:onos-pipelines-fabric-api",
+    "//pipelines/fabric/impl:onos-pipelines-fabric-impl",
     "//apps/inbandtelemetry/api:onos-apps-inbandtelemetry-api",
 ]
 
-osgi_jar_with_tests(
-    test_deps = TEST_ADAPTERS,
-    deps = COMPILE_DEPS,
-)
-
 onos_app(
     app_name = "org.onosproject.pipelines.fabric",
     category = "Pipeline",