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/protos/schema.proto b/chameleon/protos/schema.proto
index 530d74a..2a1ec08 100644
--- a/chameleon/protos/schema.proto
+++ b/chameleon/protos/schema.proto
@@ -2,14 +2,18 @@
 
 package schema;
 
-// Proto file and compiled descriptor for this interface
-message Schema {
+// Contains the name and content of a *.proto file
+message ProtoFile {
+    string file_name = 1;  // name of proto file
+    string proto = 2;  // content of proto file
+    bytes descriptor = 3;  // compiled descriptor for proto (zlib compressed)
+}
 
-  // file name -> proto file content
-  map<string, string> protos = 1;
+// Proto files and compiled descriptors for this interface
+message Schemas {
 
-  // file name -> gzip compressed protobuf of descriptor
-  map<string, bytes> descriptors = 2;
+    // Proto files
+    repeated ProtoFile protos = 1;
 
 }
 
@@ -19,7 +23,7 @@
 // Schema services
 service SchemaService {
 
-  // Return active grpc schemas
-  rpc GetSchema(NullMessage) returns (Schema) {}
+    // Return active grpc schemas
+    rpc GetSchema(NullMessage) returns (Schemas) {}
 
 }