Fix indentation on my previous change (e7de49a) - I didn't mean to commit it at the time.
Add unit test for each added op, plus '\' (just to make sure its operands are never swapped)
astNewVAR(): Create proper subtype symbol for function pointers

instead of just using the procedure itself, which can cause problems with
the C backend when emitting, because a procedure name isn't a valid data
type. The C backend relies on function pointer PROC subtypes to be emitted
as typedefs, but of course doesn't do that for normal PROCs. This can
happen for code that derives variable data types from an @proc expression,
such as the temp vars created for passing an rvalue expression such as
@proc to a BYREF parameter.

This change means that astNewVAR() can now create new symbols, and that
also required symbCloneSymbol() to be adjusted to handle procptr subtype
symbols, because they can appear inside AST temp scopes now (such as
TYPEINIs, see also the astTempScope*() functions).