Parallelize S3 pull/push files + various bug fixes.

This is PR is essentially a merge of changes between 2 level of forks (aldrinleal and New Relic).

The changelog of what we, New Relic, made:

* Use `go fmt` on all files.

* Use the official `fsouza/go-dockerclient`

* Set `GOMAXPROCS` to consume all available CPU.

* Pulling files from S3 and pushing to S3 are parallelized using fixed pool of goroutines, currently hard-coded at 50.

* Removed the ability to set S3 prefix path. It makes debugging image name difficult.

* Logging functionality is now standarized to using `fmt` library.

* Added various code cleanup and test fixes.
Doubt this can go upstream like this.