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


Seems like this cleaning of expired metrics should be done in its own background thread. It should not only be done when `reportMetric` and `getDrawMetric` are called. If no one calls those methods for a long time (e.g.: no one uses the /stats endpoint for a long time), then the `historyListMapping` could grow humongous and cause Azkaban to run out of memory. I think it's better to do the cleaning in a background thread that does cleaning periodically.