C backend: Solve out hLoadVreg()
C backend: Remove astNewCONV()'s special handling for casting UDTs

It doesn't seem to be needed. The C backend should currently do the addrof/
deref trick itself where needed. And besides, since this isn't ever done
for the ASM backend either, it's probably not needed for the C backend
which doesn't emit anything much differently in comparison.
C backend: Fix bad dtype being stored internally for byref params

This didn't seem to cause much problem though, besides some unnecessary
casts being emitted. However it caused trouble with other work-in-progress
changes.
C backend: Small cleanup in exprNewVREG()
clean up: Solve out hStepIsNonNegative(), extend astConstGeZero()
ir: Remove unnecessary/unused IRVREG accessor macros
C/LLVM backends: Reset vreg counters/lists between procedures
LLVM backend: Remove unused counters
C/LLVM backends: Share vreg allocation code
LLVM backend: Clean up indentation counter name