Relax @property enforcement for opDispatch

opDispatch function template call should accept setter syntax.
Implement callable getter property

Iff CallExp::e1 is a property, invoke it preferentially.
fix Issue 7538 - All kinds of property functions should be called before getting their types inside typeof