C backend: Don't emit null terminators in string literals

(db76b3ea regression)
Change FOR/STEP/NEXT operator overloading to use astBuildCall()

allowing it to potentially support virtual methods or BYREF results,
where possible. For example NEXT's return value could be BYREF.