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
Updated NOTICE file
Fixed compiler so that it reuses already generated OptimizerNodes within the recursive descent step of the GraphCreatingVisitor by passing down the current con2node state. This implies that one has to consider the root of the step function for computing the unclosed branch stack and for merging the branch plan maps. The method hasDamOnPathDownTo had also been adjusted for the step function, otherwise the "Tracing dams for deadlock detection is broken" compiler exception is thrown.
Added test case for bulk iteration with static input and delta iteration with static input
Cleand up imports after merge.
TextOutputFormat adds newline.
Added test base for new java api programs
Added test for WordCount in new Java API.
Implementation of the remaining BasicTypes for new Java API
Fix dependencies for java test base
Added first set of built-in aggregation functions for the new Java API.
Remove duplicate InvalidProgramException
Implement aggregation operator
Changed examples to use aggregators.