[FLINK-1133] TypeExtractor resolves also variables inside Tuple-input
[FLINK-1133] TypeExtractor now also supports nested Tuple-input derivation

This closes #137
Move DeltaIteration Sanity Check to Base Operators

Is now in JoinOperator and CoGroupOperator. We don't need
the special Scala API sanity check anymore now since they
use java operators that now correctly check in the base
class.
Add an object-based variant of the solution set
[FLINK-1110] Framework for collection-based execution
[FLINK-1110] Fix MapOperator execution and added simple test
[FLINK-1110] Implement collection-based Cross
[FLINK-1110] Implement broadcast variables for collection-based execution
[FLINK-1110] Add execution on collections for flatMap
[FLINK-1110] Add Collection-Based execution for Reduce Operators

Also fix some bugs resulting from moving stuff between packages
[FLINK-1110] Implement collection-based execution for mapPartition.

Make groupReduce code compliant with pre-java-8 versions, fix java8 tests with moved type information classes.

Fix Various warnings.
[FLINK-1110] Implement collection-based execution for bulk iterations
[FLINK-1110] Started implementing the JoinOperatorBase.

Implemented JoinOperatorBase and test cases.
[FLINK-1110] Add createCollectionEnvironment for Scala
[FLINK-1110] Implement collection-based execution for coGroup
[FLINK-1110] Adjusted test base to run programs both with local executor and collection executor
[FLINK-1110] Implement Collection-Based Execution for Delta Iterations
[FLINK-1110] By default, collection-based execution behaves mutable-object safe.
[FLINK-1110] Adjust tests and fix various issues in the collection-based execution.
[FLINK-1110] Fix IndexOutOfBoundsException in ListKeyGroupedIterator

Occured when calling nextKey() and iterator not consumed with *last* key group.