Completely broke the existing API

The library now uses whatever io.Writer is passed to it for stderr and stdout. Killed a bunch of the library complexity, but also made it slightly harder to consume. This change was necessary to get Packer stable during lots of file uploads.
gofmt code