[FLINK-932] Introduce automatic generation of semantic props for projections

This closes #29
Fix various error messages and invalid JavaDocs.
[FLINK-996] Fix for bug in union replacement

This closes #56