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

@jwang98052 If you want to create the external constructor that is passed a `String`, you can probably make use of `public static synchronized Level parse(String name) throws IllegalArgumentException` in the `Level` class.