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.
You can skip the "please". No need for the API to kindly ask for something. Use something like "The Semantic properties (constant and forwarded fields) are automatically calculated on projection joins."