parser-proc: Parse BYREF on function result type
symbProcReturnsUdtOnStack(): check symbProcReturnsByref()
symbAddProcResult(): For Byref Return, make the implicit result var a ptr
Use cVarOrDeref() for BYREF result assignments, do implicit ADDROF
Merge branch 'master' into return-byref
symbDump(): Handle FB_SYMBATTRIB_RETURNSBYREF
Do implicit DEREF on CALLs that return BYREF, and remap the type
Remap the CALL's type too, to prevent confusion if the DEREF is removed

For example, when passing the DEREF( CALL( function-that-returns-byref ) )
to a BYREF parameter, the implicit ADDROF and the DEREF cancel each-other
out, leaving just the CALL - which then better had been given the proper
type, otherwise the CONV in ast-node-arg.bas:hBuildByrefArg() will fail.
Add some test cases and changelog entry
Add implicit DEREF also for operators that return BYREF
parser-proc: Complain if only one of prototype/body has BYREF
Add more test cases
Allow ignoring the result return-byref calls in assert() in astLoadCALL()
Allow BYREF AS Z/WSTRING function results
Don't try to call result constructor when returning BYREF
Allow BYREF return of ABSTRACT UDTs
symb: Rename symbProcReturns[Udt]OnStack()

So that it's similar to symbProcReturnsByref(), because if one is TRUE
the other can't be.
ast: Replace some symbGetUDTRetType() calls, use symbProcReturnsOnStack()
symb: Remove the now unused symbIsUDTReturnedInRegs()
ast: Move & rename astBuildCallHiddenResVar()