Fixed: Code generator didn't generate ';' for empty loops

The line 'while (count--);' was generated to 'while (count--)'. The same with 'for(;;);' and 'for (a in []);'
Fixed: Removed double spaces before '@ref' and '@selector' generated output from compiler.

'@ref' is generated to ' function(__input…' with the starting space if, for example, the code is 'return(@ref(a))'. This will create a space between 'return' and 'function(__input…'. When the compiler is generate the code this is not necessary.
New: Empty loop test cases for compiler generator