Move the Iteration "Operators" to the operators package

I'm doing this in preparation for the Scala API rework, since then I can just copy over
the operators package and use them for Scala.
Make DistinctOperator and Keys use TupleComparatorBase

Was TupleComparator before which does not work when used from the Scala API.
Change ObjectArrayTypeInfo.getInfoFor to use componentInfo.isTupleType()

This is necessary because the previous test didn't work for Scala tuples.
Refactor Tuple wrapping/unwrapping in Join and CoGroup

Previously both sides were always wrapped/unwrapped, even if one side
was a tuple type. This was not compatible with the Scala tuples and is
also not necessary anymore because of the GenericPairComparator.
Move RichFunctions to api.common package

They were in api.java before but they can be used from Scala,
just like the regular functions.
Scala Rework (WIP)