Emitter: Cleanup top documentation, break up WRITEs into functions.
Emitter: Cleanup top documentation, break up WRITEs into functions.

All WRITE_ macros are now functions which are not capitalized. Additionally,
WRITE_PREP and WRITE_PREP_LARGE have been folded into a single function called
write_prep that does what WRITE_PREP_LARGE did. This means there should be no
situation where a WRITE_PREP (which would only do 1 grow) was used instead of
a WRITE_PREP_LARGE (many grows) causing a bug.

Trying out writing the /***** ... *****/ huge tags for the first time. It
seems to be working so far.

A lot of function values created have been removed since the write_* funcs now
take care of that stuff. I also cleaned up the comment explaining what emitter
does.

Finally, added ->prev = NULL set to the __main__ block to fix an invalid read
warning from valgrind.

jesserayadkins/lily,jesserayadkins/lily,jesserayadkins/lily,FascinatedBox/lily,FascinatedBox/lily,FascinatedBox/lily,FascinatedBox/lily