Current o.a.c.exp.Property API is really useful, but it mixes up everything in one huge class.
It is hard to extend and it allows to make expressions that doesn't make any sense (like Artist.ARTIST_NAME.mod(5)).
So we can use our knowledge of property types in cgen and provide type-specific variants
(like Numeric, String, Relationship etc.)
This will nicely fix mentioned issues and CAY-2332