command/build: if any builds fail, exit with 1 exit status
packer/rpc: remove unused test file
packer: RemoteCmd.StartWithUi thanks to @sit

I ended up working on this on my own outside your PR, sorry, but it is
basically the same as yours.
fmt
packer: Preserve original stdout/stderr on StartWithUi

/cc @sit
builder/virtualbox: shutdown messages go to Ui
provisioner/shell: use StartWithUi
packer: In the case of an error, close stdout/stderr writers