Implement make(chan)
Implement cap(chan) and len(chan)
Implement sending and receiving over channels

This also adds a buffered channel test that does not create goroutines,
since the support for closures isn't done yet.
Add a TODO for __go_new_map_big
Merge remote-tracking branch 'origin/libgo' into libgo
Remove Value interface, compiler field from LLVMValue

This is just a cleanup. The Value interface, no longer
necessary, is removed. UnaryOp is changed to unaryOp,
and now attached to frame.

LLVMValue no longer contains a compiler, which was a
horrible hack. LLVMValue now just has an llvm.Value and
a types.Type.
Rename NewValue to newValue, and make it a free function
Drop LLVMValue.LLVMValue method, use .value directly
Rename LLVMValue to govalue