Adressing [REEF-15]
  * Added a new module reef-utils.
  * Moved the `Optional` class there.

This closes #13
This is to set project for Reef-15 https://issues.apache.org/jira/i#browse/REEF-15
Author: Markus Weimer weimer@apache.org
REEF-36: Add Apache RAT
  * Added RAT
  * Added license headers to poms
  * Removed eclipse plugin for which no license was available
  * Added a missing licensing header in the .proto files
  * Added a missing licensing header in the .avsc files

This closes#14

This is to resolve issue REEF-38 https://issues.apache.org/jira/i#browse/REEF-38?jql=project%20%3D%20REEF%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC

Author: Markus Weimer <weimer@apache.org>
[REEF-40] Replace trivial Guava uses

  * Replace Guava code with equivalent Apache Commons in LoggingScope.
  * Remove unnecessary imports.
  * Replace Guava ImmutableSet with unmodifiableSet on LinkedHashSet
    shallow copy.

The code was written by Brian (Sunghoon) Cho <chobrian@gmail.com>

Closes #16
[REEF-38] Updates according to Apache RAT output

This updates the code base such that a `mvn apache-rat` passes. To achieve this,
the following files have been updated with license headers:

  * Tang protocol buffers schema files.
  * Tang POM files

The following files and folders have been marked as exclusions from Apache RAT:

  * README.* (this also removes the now unneeded license headers from them)
  * The .bin files in Tang's tests. Those are generated from the C# code base
    at Microsoft and are given to the ASF as a contribution.  They won't be
    needed anymore once we have moved the .NET code base to the ASF as well.
  * REEF_LOCAL_RUNTIME and its subfolders. This directory is sometimes created
    during the tests. It is not actually part of a release, but excluding it and
    the potentially thousands of files inside speeds up Apache RAT quite a bit.
  * Visual Studio project files. These are frequently overwritten, making a
    license header requirement quite cumbersome to support.

Author:    Markus Weimer <weimer@apache.org>
JIRA:      https://issues.apache.org/jira/browse/REEF-38
Closes #17
This is for [REEF-44](https://issues.apache.org/jira/browse/REEF-44). Currently.net bridge java driver assumes that evaluators are only requested during startup or when evaluator fails, this is a unnecessary constrain that blocks the scenario where elastic evaluaors allocation is needed. This commit removed that man-made constrain.

Closes #18
[REEF-45]: Use consistent STDOUT and STDERR file names in the local runtime

  This updates the local runtime to use the correct file names for STDOUT and
  STDERR redirection as provided by the REEFFileNames class.

JIRA:
  [REEF-45] https://issues.apache.org/jira/browse/REEF-45

Author:    Markus Weimer <weimer@apache.org>

Closes #20
[REEF-43]: Get version number from pom

The REEF interface defines a method getVersion(), and a hard-coded
variable REEF_VERSION, set to "0.6-SNAPSHOT".
However, it has been out of date and is not a viable solution indeed.
This PR defines an injectable class Version to get the version number
from pom (via a properties file).

JIRA:
[REEF-43] https://issues.apache.org/jira/browse/REEF-43

Author: chobrian <chobrian@apache.org>

Closes #19
[REEF-47]: Log the REEF Version in all processes.

The following changes are made to that end:

  * The new method `REEFVersion.logVersion()` is added which performs the
    actual logging.
  * On the client, this method is called in the constructor of
    `REEFImplementation`.
  * On the Driver and Evaluator, the method is called in the constructor of
    `LaunchClass`

Also, this removes the method `REEF.getVersion()` and its implementation in
`REEFImplementation` as that method wasn't used.

Related JIRAs:
  [REEF-47](https://issues.apache.org/jira/browse/REEF-47)

This is to closes #22

Author:    Markus Weimer <weimer@apache.org>