Nomralize component start()/stop()

Also fixed the /schema swagger/rest entry. It did not work
because the 3rdparty protobuf_to_dict library cannot handle
Map fields. Changed the two map fields to a single list
entry.

Change-Id: Ib25a528701b67d58d32451687724c8247da6efa5
diff --git a/chameleon/main.py b/chameleon/main.py
index 14c854b..0065b66 100755
--- a/chameleon/main.py
+++ b/chameleon/main.py
@@ -224,9 +224,9 @@
         self.grpc_client = yield \
             GrpcClient(args.consul, args.work_dir, args.grpc_endpoint)
         self.web_server = yield \
-            WebServer(args.rest_port, args.work_dir, self.grpc_client).run()
-        self.grpc_client.run(
-            on_reconnect=self.web_server.reload_generated_routes)
+            WebServer(args.rest_port, args.work_dir, self.grpc_client).start()
+        self.grpc_client.set_reconnect_callback(
+            self.web_server.reload_generated_routes).start()
         self.log.info('started-internal-services')
 
     @inlineCallbacks
@@ -234,9 +234,9 @@
         """Execute before the reactor is shut down"""
         self.log.info('exiting-on-keyboard-interrupt')
         if self.rest_server is not None:
-            yield self.rest_server.shutdown()
+            yield self.rest_server.stop()
         if self.grpc_client is not None:
-            yield self.grpc_client.shutdown()
+            yield self.grpc_client.stop()
 
     def start_reactor(self):
         from twisted.internet import reactor