Closure tables must use indirections.

ToDo: This could be improved by short-circuiting the indirections in the
closure table.  However, we have to arrange for the RTS to know about
all of our closure tables, which is a bit annoying to do.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
Replace HEAP_ALLOCED with block descriptor check.

Blocks have a new flag BF_STATIC, which indicates if the data
contained therein is static.  This means we can get rid of
all of the complicated nonsense in MBlock.h.

ToDo: There are two functions based on traversing all megablocks
which need to be reimplemented, probably by bringing back part of
the MBlock.h implementation we axed.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>