Adding metric tracking framework for Azkaban

This change includes:-
1. Metric Tracking framework under Azkaban.metric package
2. Default metric reporting emitter under Azkaban.metric.inmemoryemitter
3. Exposed metric functionality /stats using statsservlet
4. Number of running flows and jobs as metrics

We will also have a curl option for following:-
* To set tracking interval for each metric
* To enable and disable metric tracking in Azkaban
* To set metric history details like maximum tracked interval and display points for /stats servlet


There's a race condition in this test. The metric is not guaranteed to be emitted in the interval [`from`,`to`]. You call `metric.notifyManager()` before you declare `from`, so the metric might be emitted before the starting time. (In theory, since the metric emission happens in a separate thread, it might even get emitted _after_ the end time `to`.) I would move the `Date from = new Date();` line before the `metric.notifyManager();` line.