Code generate the tracepoints themselves

*Thread all of the tracepoints added during desugaring through to
 code generation
*At code generation create a c struct for each tracepoint
*Label each c struct with an appropriate c label
Code generate StgTracepoints to rts call "pushTracepoint"

*Arguments to "pushTracepoint" are:
  1. The current capability
  2. The c label for that tracepoint