Create new token for string concatenation so macro args do not get modified.
Moved null function output to write_ACSE_function_FUNC.

This means that no FUNC chunk will be generated if there are no functions, which in turn means that the engine will not attempt to read the FNAM chunk that would not
exist.
Added warning for lack of return in non-void functions.