Cull dead code, enable debug info in tests

gccgo 4.9-built binaries will not execute
correctly if there is no debug/DWARF info.

"""
no debug info in ELF executable errno -1
fatal error: no debug info in ELF executable

runtime stack:
no debug info in ELF executable errno -1
panic during panic
"""

As such, I've removed the flag that disables
generation of debug info.
Implement closure support

 - While functions are passed around as *i8,
   they are stored as **i8 and loaded before
   called. This mimics gccgo, which passes
   functions around as *__go_descriptor.
 - MakeClosure is implemented, which simply
   allocates a structure {fnptr, binding1, binding2...}.
 - Before calls to non-global functions, llgo
   emits a call to __go_set_closure with the
   **i8 value. This is ignored by non-closure
   functions.
 - Functions with free vars (i.e. closures)
   make a call to __go_get_closure and extract
   bindings from within.
Merge pull request #131 from axw/libgo-closures

Implement closures