Functions are having issues with being copied around, especially
between buckets, leading to the scopes getting looped. The program gets
stuck in 'incrementRefCount()'.
It's past my time limit, so I'll keep working on it tomorrow with a
fresh mind.
All function stuff is still untested.
See #163
If a string exists in the data, instead of being written, the function
'emitCStringToData()' will instead return the address of the match
within the data section.
Then, I can search the jump table for that address, and use the existing
jump entry or append a new one.
Fixes#168
Parameter lists are read manually, rather than delegating to
parsePrecedence, because that was causing issues.
function bodies are read as block-level statements, just like the entire
files.