bytes.Buffer -> append([]byte)
UTF16FromString -> UTF16PtrFromString
(reduce callig constructor)
go fmt history/history.go
support pipeline both stdout and stderr with '|&' mark
Fix: fmt.Println(os.Stderr,err)-> fmt.Fprintln(os.Stderr,err)
make echo built-in
support 2>&1