Implement defer
Remaining bits and pieces required for recover() to work with defer

Specifically:
 - Use __go_set_defer_retaddr runtime function to notify the runtime of
   valid defer thunks
 - Use __go_deferred_recover to implement "defer recover()"
 - Pass -disable-tail-calls to llc (tail calls interfere with the
   __go_set_defer_retaddr/__go_can_recover mechanism)
Merge pull request #136 from pcc/libgo-defer

Implement defer, and fix a few issues with the recover() implementation