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


It seems like you only need `synchronized` while calling `this.clone()`. I don't think this entire method needs to be synchronized. Once you've cloned `this`, I think you can call `.reportMetric()` without holding on to a synchronization lock.