pkg/runtime: start on proper channel implementation

Translation of the C from gc stdlib.
Store canonical ast.Ident in objectdata

Otherwise, ident resolution may get an
ident with a nil Obj, and mistakenly
create an external global.
pkg/runtime: implement synchronous chan send/recv
pkg/runtime: various fixes to channels

Also:
 - implement "close"
 - use go/types Selection (partially)
pkg/runtime: completely untested futex for PNaCl