Improved FrameIO support and proxy messaging

Specific changes:
- FrameIO support for Mac OS X (making testing easier)
- Message passing between root and child devices implemented
  (example use in simulated_olt and simulated_onu adapters
- Making FrameIOMgr accessible via registry so that modules
  can easily reach it
- Making "main" to be a registered component so that command
  line args and config file based info is accessible to all.
- Minor clean-ups and improvements

Change-Id: I6812dd5b198fef5cb19f17fc8d7948d3fba8b625
diff --git a/tests/itests/run_as_root/test_frameio.py b/tests/itests/run_as_root/test_frameio.py
index b3863d9..057fa28 100644
--- a/tests/itests/run_as_root/test_frameio.py
+++ b/tests/itests/run_as_root/test_frameio.py
@@ -20,7 +20,7 @@
 
 docker run -ti --rm -v $(pwd):/voltha  --privileged cord/voltha-base \
     env PYTHONPATH=/voltha python \
-    /voltha/tests/itests/frameio_tests/run_as_root/test_frameio.py
+    /voltha/tests/itests/run_as_root/test_frameio.py
 
 """
 
@@ -88,7 +88,6 @@
         self.assertEqual(port, p1)
         self.assertEqual(frame, bogus_frame)
 
-
     @inlineCallbacks
     def test_packet_send_receive_with_filter(self):
         rcvd = DeferredWithTimeout()
@@ -108,7 +107,6 @@
         self.assertEqual(port, p1)
         self.assertEqual(frame, ip_packet)
 
-
     @inlineCallbacks
     def test_packet_send_drop_with_filter(self):
         rcvd = DeferredWithTimeout()
@@ -128,7 +126,6 @@
         else:
             self.fail('not timed out')
 
-
     @inlineCallbacks
     def test_concurrent_packet_send_receive(self):