fmt: don't call command twice for successful output
fmt: don't call command twice for successful output

Previously we were calling gofmt/goimports twice when the command was
successful. First we call it so we can catch any errors and display
it(in quickfix window), if there is no errors, we called it again,
purely so we could pipe the commands output (which in our case is the
formatted output) directly to the current buffer. This was very fast
for gofmt, but with goimports it was slow.

Now, we don't call the command again if it's successful, instead we
just replace the output of the first command with the current buffer.
This is actually so obvious and I'm thinking why I didn't I this in the
first place. Humans ...

hiteshjoshi/vim-go,vashstorm/vim-go,glittershark/vim-go,phemmer/vim-go,syohex/vim-go,vim-IDE/vim-go,nowk/vim-go,mechmind/vim-go,cjqian/vim-go,mizoR/vim-go,wheelcomplex/vim-go,emmagras/vim-go,ebfe/vim-go,apriendeau/vim-go,t-yuki/vim-go,rxwen/vim-go,mrnugget/vim-go,youleiy/vim-go,andviro/vim-go,shaunstanislaus/vim-go,vim-IDE/vim-go,prodis/vim-go,marcosnils/vim-go,jacobxk/vim-go,ev46/vim-go,wingyplus/vim-go,DrGo/vim-go,lioonline/vim-go,andviro/vim-go,vim-IDE/vim-go