tests: Add test cases showing bad callconv handling in expressions
Fix callconv handling in expressions
c: Handle default callconv here; remove astMakeProcsDefaultToCdecl() pass
Fix bad handling of array initializers in scope blocks in macro bodies
c: Handle array initializers here; remove astTurnStructInitIntoArrayInit()
c: Call astOpsC2FB() from here; remove astCleanUpExpressions() pass
c: Handle array parameters immediately, remove astFixArrayParams() pass
c: Handle decls with plain char here, remove astTurnPlainZstringIntoByte()
c: Handle char arrays directly, remove astTurnZstringArrayIntoFixedLengthZstring
c: Handle declarations nested in structs directly, remove separate pass
emit: Handle nested structs/unions here, remove corresponding pass
Remove support for turning #defines into constants

Since commit fd0c36c3 it was off by default anyways; it's simply not
needed.
ast: Remove astMergeDIVIDERs() pass (no longer needed due to becbaa84)
ast: Solve out HIDECASEALIAS flag

astAutoExtern() will add an Extern block if there are any global vars or
procedures, which means that there never is a need for explicit
case-preserving aliases. (since 998f8f9faac2c29561ba2090bcc00df041653f9e)
c: Count callconvs and check for need for Extern block immediately