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
(cherry picked from commit 36d5e7a2337c242e45ee57beacd82bba07a0851d)
diff --git a/tools/build/publish-target-list b/tools/build/publish-target-list
index 772872a..7d9a87b 100644
--- a/tools/build/publish-target-list
+++ b/tools/build/publish-target-list
@@ -17,6 +17,7 @@
     //drivers/utilities:onos-drivers-utilities
     //drivers/default:onos-drivers-default
     //drivers/netconf:onos-drivers-netconf
+    //pipelines/fabric/api:onos-pipelines-fabric-api
     //protocols/bgp/api:onos-protocols-bgp-api
     //protocols/bgp/bgpio:onos-protocols-bgp-bgpio
     //protocols/grpc/api:onos-protocols-grpc-api