Adjustments for java8
Local environment has console logging deactivated by default.
LocalEnvironment used the number of processor cores as the default DOP.
Change MutableObjectIterator to allow immutable objects

This makes it possible to remove the Reference<T> hack.
Remove Reference<T> hack (plus some other clean-up)

Also remove Serializer<T> and only use TypeSerializer<T> which is now
Serializable.
Reset AsciiUtils to original behavior (do not implement MutableOjectIterator any more)
Minor cleanups.
Renamed AsciiUtils to SimpleStringUtils, because they actually work on more than ascii strings (all strings without surrogate chars)
Removed array datamodel and Scala Grabbag
Small step towards semi join. Added semi join functions.
TODO: Special exec strategy (runtime + optimizer) based on hash join required.
      Either no duplicates of filtering side in HT or filtered tuples removed from HT after first match.
Updated TypeExtractor and TupleTpyeInfo to work on subclasses of Tuple1, Tuple2, ...
Merge Fix
includeFields support for new Java API's CsvReader
Removed ReferenceWrappingReducer. Cleaned imports in PlanOperators. Fixes in ReduceFunction.
Rework command line client and added support for new Java API interactive mode.
 - Mixing generic and specific options is supported
 - Help is action specific
 - No -a is necessary for program arguments
 - New Java API programs with main(String[]) method as entry point work
 - The 'Main-Class' manifest entry is also considered when looking for Program entry points (easier export).
Add getArity() method to Tuple
Fix TypeExtractor to work with plain Tuple and derived Tuple
Add CsvOutputFormat for new Java API
Minor consistency cleanups in CsvOutputFormat
Add convenience method to set local environments to overwrite files by default.
Clean up LICENSE and NOTICE files