Add #EXEC, #IFVAR, #IFNVAR, #ENDIFVAR, and #ENDIFNVAR
Change logging level [BUGFIXING] to [DEVEL]
Move all preparse code below function declarations (except local doLog)
Add error checking to exec option

This commit is entirely untested. As in I haven't even checked for syntax errors, let alone tested functionality. You have been warned.