Add EventMetricProducer

+ Started to use ProtoOutputStream in EventMetricProducer.
  [TODO]: We need to auto-generate fieldIds for StatsLogReport, XXXMetricData, etc.
  [TODO]: We need to add Enum type to liblog, otherwise we cannot reconstruct a proto containing
          an enum

+ Some refactor in metric initialization code. There are still boiler plate code, because Metrics
  are similar but with subtle differences.

Test: statsd_test

Change-Id: Id7e3212566249a8139b9680f04238c455d50c1b8
diff --git a/cmds/statsd/Android.mk b/cmds/statsd/Android.mk
index 8946aed..dd9a965 100644
--- a/cmds/statsd/Android.mk
+++ b/cmds/statsd/Android.mk
@@ -38,6 +38,7 @@
     src/matchers/SimpleLogMatchingTracker.cpp \
     src/metrics/CountAnomalyTracker.cpp \
     src/metrics/MetricProducer.cpp \
+    src/metrics/EventMetricProducer.cpp \
     src/metrics/CountMetricProducer.cpp \
     src/metrics/DurationMetricProducer.cpp \
     src/metrics/MetricsManager.cpp \
@@ -65,7 +66,8 @@
     libselinux \
     libutils \
     libservices \
-    libandroidfw
+    libandroidfw \
+    libprotoutil
 
 # =========
 # statsd