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
builder/amazon/instance: boilerplate
builder/amazon/common: AccessConfig for standard access config
builder/amazon/common: RunConfig for launch info
builder/amazon/ebs: validate access config
builder/common: common config struct for Packer configs
builder/amazon/common: tests for runconfig
builder/amazon/*: clean up tests
fmt
builder/amazon: extract StepKeyPair for both
builder/amazon: extract StepSecurityGroup
builder/amazon/common: panic if SSHPot is 0
builder/amazon: extract StepRunSourceInstance