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
Fix in TupleComparator. Keys are writting in correct order depending on key inversion.
Initial support for Group Sorting (only key positions and Reduce operators).