Remove custom org.openbmc.Object.ObjectMapper

Use the standard freedesktop ObjectManager interface.

Moved gdbus OM export calls to the correct place so these
signals are emitted as expected by system_manager.py.
Python apps that use pyobmc are already emitting these
correctly.

Change system_manager.py to watch for the freedesktop
signal rather than the custom one.

Added an sd_bus OM to led_controller.
diff --git a/objects/fan_generic_obj.c b/objects/fan_generic_obj.c
index 72bfb11..61083ae 100644
--- a/objects/fan_generic_obj.c
+++ b/objects/fan_generic_obj.c
@@ -1,6 +1,5 @@
 #include "interfaces/openbmc_intf.h"
 #include "openbmc.h"
-#include "object_mapper.h"
 
 /* ------------------------------------------------------------------------- */
 
@@ -64,10 +63,6 @@
 		object_skeleton_set_fan(object, fan);
 		g_object_unref(fan);
 
-		ObjectMapper* mapper = object_mapper_skeleton_new();
-		object_skeleton_set_object_mapper(object, mapper);
-		g_object_unref(mapper);
-
 		//define method callbacks here
 		g_signal_connect(fan,
 				"handle-get-speed",
@@ -81,13 +76,10 @@
 		//g_timeout_add(poll_interval, poll_sensor, object);
 
 		/* Export the object (@manager takes its own reference to @object) */
+		g_dbus_object_manager_server_set_connection(manager, connection);
 		g_dbus_object_manager_server_export(manager, G_DBUS_OBJECT_SKELETON(object));
 		g_object_unref(object);
 	}
-
-	/* Export all objects */
-	g_dbus_object_manager_server_set_connection(manager, connection);
-	emit_object_added((GDBusObjectManager*)manager);
 }
 
 static void