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

Level constructor is protected. People used to use Level.INFO, Level.FINE, etc directly. I would use named parameter to wrap it and use inject.bindVolatileParameter(LogLevel.class, Level.INFO) to set a value for example.