Make verror extern(C) so it can be written in D and called from C++, even though va_list has a different type in dmc and dmd
Refactor macros in arrayop.c
Merge pull request #2045 from yebblies/va_list

[DDMD] Make verror extern(C)
Merge pull request #2237 from yebblies/expandm

[DDMD] Expand macros in arrayop.c
Implement more property enforcement

- Getter and setter property functions cannot call with parenthesis.
- Non-@property functions without arguments can call without parenthesis.
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