Initial KPI/PM support

Added a tiny program (and container) to shovel KPI
data from Kafka to graphite using carbon pickle
format. The utility is called 'shovel'. It is dockerized.

Reorganized Dockerfiles in their own dir to start cleaning
up top-level dir of Voltha.

A 3rd-party grafana/graphite container is added to the
system test ensamble, launched by docker-compose. With
the new shovel, this implements a KPI/PM metric store
with a very nice Web UI (grafana).

Finalized internal sample format and extended the new
diagnostics module to publish 2 initial metrics to
Kafka, which now nicely shows up via both kafkacat
and grafana.

The infrastructure is ready for arbitrary metrics now.

This commit accidentally picked up some ongoing change
on the Tibit integation side, but it is too complex
to untangle, so I leave it in; Nathan will push his
latest Tibit adapter code in the next 24h.

Change-Id: I6812dd5b198fef5cb19f111111111113fba8b625
diff --git a/requirements.txt b/requirements.txt
index 8f7d6a7..3c660d7 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
 argparse==1.2.1
+arrow>=0.10.0
 colorama>=0.2.5
 cython==0.24.1
 decorator>=3.4.0
@@ -11,6 +12,7 @@
 hexdump>=3.3
 jinja2>=2.8
 jsonpatch>=1.14
+kafka_python>=1.3.1
 klein>=15.3.1
 networkx>=1.11
 nose>=1.3.7