New deriveConstants: Sensitive to Profiling

  * 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 in the actual compiler code 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
New deriveConstants: lOAD_* macro & sensitive to TABLES_NEXT_TO_CODE

* lOAD_* macro

  - deriveConstants has always generated macros for *.cmm
    files. e.g. StgTSO_flags(ptr) which loads the address (ptr +
    OFFSET_StgTSO_flags).

  - deriveConstants now generates macros for *.hs files
    too. e.g. lOAD_StgTSO_flags dflags ptr loads the address (ptr +
    oFFSET_StgTSO_flags.

  - As a result of this. I have been able to delete a load of
    handwritten field getters in the code generator.

* deriveConstants is now sensitive to TABLES_NEXT_TO_CODE

  - deriveConstants now uses the C pre processor to test #ifdef
    TABLES_NEXT_TO_CODE

  - This is useful because deriveConstants can now derive offsets into
    the StgInfoTable and StgFunInfoTable structs, which are different
    depending on weather or not TABLES_NEXT_TO_CODE is defined.

  - Handwritten Cmm files used to get offsets for info table related
    things from from CmmParse.y. CmmParse.y got the values from
    handwritten haskell functions containing 'magic numbers'.

  - Now handwritten Cmm files get offsets for info table related things
    from DerivedConstants.h directly. Specifically

    + %ENTRY_CODE             is now StgInfoTable_entry
    + %INFO_PTR and GET_INFO are now StgClosure_info
    + %STD_INFO               is no longer needed
    + %FUN_INFO               is no longer needed
    + %GET_STD_INFO           is no longer needed
    + %GET_FUN_INFO           is no longer needed
    + %GET_ENTRY              is now StgInfoTable_entry(StgClosure_info(p))
    + %INFO_TYPE              is now StgInfoTable_type
    + %INFO_PTRS              is now StgInfoTable_ptrs
    + %INFO_NPTRS             is now StgInfoTable_nptrs