Continue work to prepare for GC.

- main () is defined in tiger_gc.c and calls __tiger__main () to
  actually run the tiger program. main () reads an environment
  variable TIGERHEAPSIZE to parametrize the heap size for Tiger
  programs.

- arrays are now allocated by calling the GC allocator
  llvm_gc_allocate.

- the length of the array is stored in the corresponding
  slot at creation time.

- the driver program now tries to output a complete a.out
  executable by calling [llc] and [clang].