Adding LogScope classes

To instrument reef code and measure the performance, this PR adds LogScope and LogScopeFactory classes. User can call LogScope with try-with-resources to measure the time elapsed in millis. 
LogScopeFactory supplies predefined methods, which return LogScope objects for the critical points/stages in Reef such as Driver start, Evaluator submit, etc . User can still create LogScope object directly for any piece of the code range. 
This is to resolve https://issues.apache.org/jira/i#browse/REEF-24?filter=12329580

We use object life cycle to control start/stop for time elapsed in a scope. Each time it is called, we need to create a new object of LogScope. Tang is good for singleton. If we frequently create objects using Tang for LogScope, we won’t gain anything but costly, especially in measuring performance, we don’t want the class itself takes too much time.