Implement Neg for ValueData
Implement some unary ops
Update to use String in place of StrBuf to match Rust master