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
Merge pull request #128 from axw/libgo-value-nocompiler

Refactor Value/LLVMValue