Refactor backtrace passing in code generator
Indirections and black holes now use the backtraceheader
Rewrite of DeriveConstants.hs

* Constants are Derived twice
  - Once with PROFILING on
  - Once with PROFILING off
  The old way was just to derive constants with PROFILING on. Then do
  recalculations where neccecary to work out what the constants would be
  with PROFILING off.

* Simplified how offsets are dealt with
  - Removed the distinction between struct and closure offsets
  - Now you just specify any of the following
    + The offset, for which target(s)
    + The rep,    for which target(s)
    + The macro,  for which target(s)
    + More unusual cases, like gcptr reps, and payload macros

* General code cleanup - bringing all lines within 80 columns