[VOL-4178, VOL-3952] This commit removes flows/groups/meters persistency

This commit removes flows/groups/meters persistency from rw-core.
As part of this change, it also fixes a bug where devices were not
being loaded on an rw-core restart.  This is a necessary condition
to allow the non-persistency of flows/groups/meters to work.

This commit also renames "loader" to "cache" for the flows/groups/
meters to differentiate between data that is loaded from the KV
store and the one in cache.

Change-Id: Ib14e1450021abe30b17673c2910768fb740dba51
diff --git a/rw_core/core/core.go b/rw_core/core/core.go
index 9d9f5da..43e9903 100644
--- a/rw_core/core/core.go
+++ b/rw_core/core/core.go
@@ -55,6 +55,8 @@
 			adapterMessageBus,
 			"kv-store",
 			"adapter-manager",
+			"device-manager",
+			"logical-device-manager",
 			"grpc-service",
 			"adapter-request-handler",
 		)
@@ -169,6 +171,13 @@
 	endpointMgr := kafka.NewEndpointManager(backend)
 	deviceMgr, logicalDeviceMgr := device.NewManagers(dbPath, adapterMgr, kmp, endpointMgr, cf, id, eventProxy)
 
+	// Start the device manager to load the devices. Wait until it is completed to prevent multiple loading happening
+	// triggered by logicalDeviceMgr.Start(Ctx)
+	deviceMgr.Start(ctx)
+
+	// Start the logical device manager to load the logical devices.
+	logicalDeviceMgr.Start(ctx)
+
 	// register kafka RPC handler
 	registerAdapterRequestHandlers(ctx, kmp, deviceMgr, adapterMgr, cf, "adapter-request-handler")