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/voltha/worker.py b/voltha/worker.py
index 8d0206c..d8b11a9 100644
--- a/voltha/worker.py
+++ b/voltha/worker.py
@@ -18,10 +18,12 @@
 from structlog import get_logger
 from twisted.internet import reactor
 from twisted.internet.base import DelayedCall
-from twisted.internet.defer import inlineCallbacks
+from twisted.internet.defer import inlineCallbacks, returnValue
 
 from common.utils.asleep import asleep
 
+log = get_logger()
+
 
 class Worker(object):
     """
@@ -32,8 +34,6 @@
 
     ASSIGNMENT_EXTRACTOR = '^%s(?P<member_id>[^/]+)/(?P<work_id>[^/]+)$'
 
-    log = get_logger()
-
     # Public methods:
 
     def __init__(self, instance_id, coordinator):
@@ -53,14 +53,17 @@
 
     @inlineCallbacks
     def start(self):
-        self.log.info('worker-started')
+        log.debug('starting')
         yield self._start_tracking_my_assignments()
+        log.info('started')
+        returnValue(self)
 
-    def halt(self):
-        self.log.info('worker-halted')
+    def stop(self):
+        log.debug('stopping')
         if isinstance(self.assignment_soak_timer, DelayedCall):
             if not self.assignment_soak_timer.called:
                 self.assignment_soak_timer.cancel()
+        log.info('stopped')
 
     # Private methods:
 
@@ -96,7 +99,7 @@
                 self._stash_and_restart_soak_timer(my_workload)
 
         except Exception, e:
-            self.log.exception('assignments-track-error', e=e)
+            log.exception('assignments-track-error', e=e)
             yield asleep(
                 self.coord.worker_config.get(
                     self.coord.worker_config[
@@ -109,7 +112,7 @@
 
     def _stash_and_restart_soak_timer(self, candidate_workload):
 
-        self.log.debug('re-start-assignment-soaking')
+        log.debug('re-start-assignment-soaking')
 
         if self.assignment_soak_timer is not None:
             if not self.assignment_soak_timer.called:
@@ -124,7 +127,7 @@
         Called when finally the dust has settled on our assignments.
         :return: None
         """
-        self.log.info('my-assignments-changed',
+        log.info('my-assignments-changed',
                       old_count=len(self.my_workload),
                       new_count=len(self.my_candidate_workload))
         self.my_workload, self.my_candidate_workload = \