SemanticProperties for Projections

This PR deals with
https://issues.apache.org/jira/browse/FLINK-932

ProjectionJoins, Crosses and the regular project operator get their SemanticProperties generated automatically. Additionally, I disables withConstantSet() for ProjectJoins and Crosses because it can cause conflicts.